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. MTCNN人脸检测识别笔记

    论文:Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks 论文链接:https:// ...

  2. js事件触发器fireEvent和dispatchEvent

    转自:https://www.cnblogs.com/tiger95/p/6962059.html 事件触发器就是用来触发某个元素下的某个事件,IE下fireEvent方法,高级浏览器(chrome, ...

  3. UVa-10954

    10954 - Add All Time limit: 3.000 seconds Yup!! The problem name reflects your task; just add a set ...

  4. 一个IP绑定多个域名的实现方法

    方案一: 文字叙述: 具体步骤如下:比如讲apache服务器127.0.0.1 配置成 www.sohu.com 首先在http.conf文件中 做如下处理: ①关闭默认的 #DocumentRoot ...

  5. git如何做个人构建

    1      基本概念 1.1      Git:Git是一个版本控制的工具,类似于svn. 1.2      Gerrit:Gerrit是一个基于git的团队合作的工具,开发人员可以往上面提交代码, ...

  6. JavaScript 基础 (变量声明, 数据类型, 控制语句)

    创建: 2017/09/16 更新: 2017/09/24 更改标题 [JavaScript 概要]-> [JavaScript 基础] 完成: 2017/09/25 更新: 2017/10/0 ...

  7. Android之打包签名

    一.什么的是打包? 打包就是根据签名和其他标识生成安装包. 二.什么是签名? 1.在android应用文件(apk)中保存的一个特别字符串 2.用来标识不同的应用开发者:开发者A,开发者B 3.一个应 ...

  8. spring基于注解的IOC

    曾经的XML配置: <bean id="accountService" class="com.itheima.service.impl.AccountService ...

  9. Cocoapods在OS X Yosemite上报错的解决方法

    今天升级了Mac OS X 10.10-Yosemite以后运行pod install遇到下面的错误: /System/Library/Frameworks/Ruby.framework/Versio ...

  10. css定位-position

    前言 定位的目的就是把元素摆放到指定的位置. 定位上下文:定位元素的大小,位置都是相对于定位上下文的. position属性值有5个值 static:所有有元素定位默认的初始值都是static.就是不 ...