NodeJs


从最开始的node的安装开始...刚开始安装的时候就遇到了坑...

一开始选用的是brew 的安装方式,安装的版本太低了!现在已经是8.9了,后来,mac直接去官网下载了一个安装包就安装成功了。

之后就是服务器端的安装了。

我使用的是阿里云服务器, CentOs...打开命令行,连接服务器。

输入

ssh root@你的服务器公网的ip地址

连接上服务器之后呢..我使用的是nodejs 官方的包来安装的。

nodejs中文网进入阿里云镜像包 ,选择你想要下载的包,复制他的下载连接,ok

然后就在终端进行了下载,解压 的操作。

wget + 刚刚复制了的连接,例如:
wget https://npm.taobao.org/mirrors/node/v8.9.0/node-v8.9.0-linux-ppc64.tar.xz

不过安装的时候,最好进入 usr/local/src 里面,一般装的东西都放到这里,然后在这个文件夹里解压...

然后就到了 我被坑很多很多次的步骤!!! 建立软连接...

软链接是干什么的,我们刚刚安装好了的node  只能在 他本身的文件夹里的bin里运行, 例如 cd node/bin 进入到bin之后  ./node -v  可以看到8.9.0 这样的版本提示,但是如果我们返回到根目录,再运行node -v 终端就会报错...

-bash: nd: 未找到命令

类似于这样...

所以,我们需要建立软链接,让终端能运行的命令指向node运行的源文件夹里的node。因此,我们需要在命令行里面输入

ln -s /root/usr/local/src/nodejs/bin/node /root/usr/local/bin/node

反正...在我的服务器上 必须指明root..不然就失败了,网上的教程似乎不需要指明root 可能和环境有关系把。

总之到这里安装的就差不多了...

然后就是使用啦。


对node的解释网上已经多得很了,我只记录一下自己不明白和不了解的地方。

node 可以直接使用es6的语法...因此,同时,为了方便,我使用的是express 的框架 ... 每个语言都会有框架的...

那么就进入我的实战里面看看把。

我通过 express 生成了一个node 工程

bin 目录下 放的是启动这个工程的文件www  如果我们想启动这个服务的话,只需要在bin目录下输入 node www 服务就会启动了。

需要关注的是views 和routes 还有models 文件夹。   express  推荐使用jade格式的代码...但是我有点不习惯....还是比较熟悉 html 文件,那么我们就需要安装一个小插件..ejs

在server文件夹下输入

cnpm i ejs --save

这个插件便安装完成了。

完成之后就需要引入,我们在上图的app.js文件里面这样修改

引入ejs , 然后使用html...

这个时候,我们只需要把views 文件夹里面当jade 文件都改为我们熟悉都html 文件就好了。

...

下面就是我学习都比较模糊都地方了。。

首先是路由...

后端的路由是放到router文件夹里面的。

var express = require('express');
var router = express.Router(); /* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
}); module.exports = router;

首先是 引入 express 然后定义路由...这个看一看官方文档就知道了。

这一块到搭建完后端没踩什么坑...


Mongodb

...我安装这个..安装了很久.....

首先是在官网下载适合自己的版本 到mongodb ,然后类似于node到安装方式来安装...

不过mongodb踩了到坑就是 数据到位置 和 启动mongodb配置到位置,这个位置需要找好。

在mac 电脑..需要在根目录下新建一个data文件夹。然后启动的方式

通过配置文件启动..

但是配置文件的文件夹,还有日志的文件夹是需要我们自己去创建的

如果想要让mongodb 在服务器上后端自己运行,那就在执行的时候加上 --fork 或者在配置文件里面写入fork=true。

大家关闭mongodb 的时候不要使用暴力关闭的方法,我自己服务上的mongodb就是被我折腾了半天...都没弄好....

关闭的时候推荐使用  mongo 连接服务器,用mongo来进行关闭,还有就是 设密码...我的数据库没设密码..然后被黑了。哈哈

总结一下最近对nodejs 和 mongodb 的学习的更多相关文章

  1. 大熊君大话NodeJS之------MongoDB模块(额外篇)

    一,开篇分析 这篇属于扩展知识篇,因为在下面的文章中会用到数据库操作,所以今天就来说说它(Mongodb模块). (1),简介 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为 ...

  2. nodejs操作mongodb

    一.下载地址 https://www.mongodb.com/download-center#community 二.控制台操作mongodb 1.安装完后添加环境变量. 2.在某个根目录下新建dat ...

  3. nodejs链接mongodb数据库

    nodeJs链接mongodb数据库有两种方式,第一种是利用官方自己开发的npm包mongodb链接,第二种是利用第三方npm包mongoose链接:这里如果是window操作系统,建议用mongoo ...

  4. nodejs和mongodb实践

    首先,当然是都安装了nodejs 和mongodb了.这必须是前提条件. 现在我们要用nodejs连接mongodb数据库了.我这里只是一个非常非常简单是实践,初学嘛.更深入的学习之后,我会仔细写笔记 ...

  5. nodejs实践-MongoDB

    nodejs实践-MongoDB laiqun@msn.cn Contents 1. 特点: 2. 开始使用 3. 使用Mongoose操作MongoDB 4. 在express中使用,组织数据库相关 ...

  6. Nodejs中Mongodb使用

    Mongodb使用 打开解压后的Mongodb文件夹,新建data.logs文件夹,并在logs文件夹中新建mongodb.log文档. 添加后Mongod文件夹示意图: 用cmd命令行启动Mongo ...

  7. NodeJS+Express+MongoDB

    一.MongoDB MongoDB是开源,高性能的NoSQL数据库:支持索引.集群.复制和故障转移.各种语言的驱动程序丰富:高伸缩性:MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言 ...

  8. NodeJs操作MongoDB之分页功能与常见问题

    NodeJs操作MongoDB之分页功能与常见问题 一,方法介绍 1,聚合操作之count count()方法可以查询统计符合条件的集合的总数 db.User.count(<query>) ...

  9. NodeJs操作MongoDB之多表查询($lookup)与常见问题

    NodeJs操作MongoDB之多表查询($lookup)与常见问题 一,方法介绍 aggregate()方法来对数据进行聚合操作.aggregate()方法的语法如下 1 aggregate(ope ...

随机推荐

  1. [Codeforces 787D] Legacy

    [题目链接] https://codeforces.com/contest/787/problem/D [算法] 线段树优化建边 ,  然后用Dijkstra算法求单源最短路 时间复杂度 : O((N ...

  2. POJ 3104 Contestants Division

    Contestants Division Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 10597   Accepted:  ...

  3. VirtualBox下安装ubuntu图文教程以及软件安装

    一. 下载安装VirtualBox 官网下载VirtualBox,目前版本:VirtualBox 5.1.8 for Windows hosts x86/amd64 下载好了安装VirtualBox, ...

  4. poj1236学校网络——连通块

    题目:http://poj.org/problem?id=1236 通过传输文件的特点可以看出要先求强联通分量,缩点: 问题1:即缩点后入度为0的点,从它们开始传文件可以传给所有学校: 问题2:对于所 ...

  5. ABP 框架启程 及 ABP 翻译目录及传送门

    准备动手写一套电商的系统,辗转收集了不少相关的开源项目,最后决定使用ABP作为起点. 在园子里好多人都在推广ABP.有个园友做了一个集合贴,方便大家使用  ABP集合贴 建议大家优先看 HK Zhan ...

  6. 经验收获Linux终端下方便命令

    一.命令行日常系快捷键 如下的快捷方式非常有用,能够极大的提升你的工作效率: CTRL + U - 剪切光标前的内容 CTRL + K - 剪切光标至行末的内容 CTRL + Y - 粘贴 CTRL ...

  7. 通过libVirt抓取kvm虚拟机监控指标数据

    通常在我们的云环境中,为了保证云平台中虚拟机的正常运行,基本都需要这样一个功能,就是收集虚拟机的监控数据,比如cpu的使用率.内存的使用率.磁盘io.网络io等基本信息.可以利用这些信息及时调整云平台 ...

  8. Java编程环境IntelliJ IDEA

    1. 下载并安装jdk,进行配置 https://www.cnblogs.com/zhangchao0515/p/6806408.html 2. 下载并安装 IntelliJ IDEA, 并进行破解 ...

  9. 【eclipse插件开发实战】Eclipse插件开发1——eclipse内核结构、扩展点机制

    Eclipse插件开发实战1--eclipse内核结构.扩展点机制 一.前言 本系列总体介绍eclipse插件开发基本理论.插件项目结构及开发步骤,最后再给出两个插件开发实例. 总体安排结构如下: 1 ...

  10. Flutter实战视频-移动电商-19.首页_火爆专区界面布局编写

    19.首页_火爆专区界面布局编写 看一下图片的效果 一个标题栏,下面是多行两列.里面可以用column布局,外面用Warp流式布局 有得小伙伴说这里可以用网格布局,网格布局的话还是有一定的效率问题.这 ...