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. JavaScript DOM 编程艺术 ---> JavaScript语法

    二.  JavaScript语法目录 2.1 语法 javaScript代码要通过HTML/XHTML文档才能执行.可以有两种方式完成这一点,第一种是将JavaScript代码放到文档<head ...

  2. Mysql数据库--语句整理/提升/进阶/高级使用技巧

    一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备 ...

  3. win7 第一次装 mysql-5.7.16-winx64 ,不知道root 密码,该如何处理?

    转载请注明出处:http://blog.csdn.net/qq_26093511/article/details/52851811 ERROR 1045 (28000): Access denied ...

  4. 有关map中使用iterate迭代器遍历的不保序问题和list remove(object)的细节问题

    今天在做项目的过程中发现了如下两个问题: 一 使用map的iterator迭代器对map进行遍历得到的结果是不保序的,也就是每次输出结果都是不一样的.针对这个问题,看以下iterator迭代器的源码. ...

  5. c语言中的# ## 可变参数宏 ...和_ _VA_ARGS_ _

    1.#假如希望在字符串中包含宏参数,ANSI C允许这样作,在类函数宏的替换部分,#符号用作一个预处理运算符,它可以把语言符号转化程字符串.例如,如果x是一个宏参量,那么#x可以把参数名转化成相应的字 ...

  6. Android 电脑投屏工具Vysor Pro介绍

    Chrome的插件,直接到chrome的扩展程序里面搜索Vysor,安装即可 如何破解: C:\Users\lanlan.shi\AppData\Local\Google\Chrome\User Da ...

  7. 洛谷 - P2283 - 多边形 - 半平面交

    https://www.luogu.org/problemnew/show/P2283 需要注意max是求解顺序是从右到左,最好保证安全每次都清空就没问题了. #include<bits/std ...

  8. 模板 - 数据结构 - ST表 + 二维ST表

    区间最大值,$O(nlogn)$ 预处理,$O(1)$ 查询,不能动态修改.在查询次数M显著大于元素数量N的时候看得出差距. 令 $f[i][j]$ 表示 $[i,i+2^j-1]$ 的最大值. 显然 ...

  9. 多行文字的垂直居中或高度不同的图片垂直居中---:after伪类+content

    如何让多行文字垂直居中?或者如何让图片垂直居中? 1.demo--css .box { width: 300px; height: 300px; background-color: #f5e79e; ...

  10. Codeforces Round #375 (Div. 2)【A,B【模拟】,D【DFS】】

    PS_B:阿洗吧!B题卧槽数组开了250... PS_D:D题主要挂在了50*50口算得了250,数组开小,然后一开始还错了.= =哎,以后对于数据范围还是注意一点: 卧槽,这场可真二百五了... A ...