Express 是一个简洁而灵活的 node.js Web应用框架, 提供一系列强大特性帮助你创建各种Web应用。Express 不对 node.js 已有的特性进行二次抽象,我们只是在它之上扩展了Web应用所需的功能。丰富的HTTP工具以及来自Connect框架的中间件随取随用,创建强健、友好的API变得快速又简单。
1、未安装 node.js 环境的需要先安装,具体安装步骤可参考 https://www.cnblogs.com/aizai846/p/11441693.html
2、全局安装 express-generator
npm install express --save -g
npm install express-generator --save -g
3、创建 express 项目
4、安装依赖,生成 node_modules
cd server
npm install
5、启动服务,浏览器输入 http://localhost:3000 可访问服务
npm start
1、开发中需要用到组件请自行安装,下面是常见的一些组件:
npm install --save mongoose fs multer md5 jsonwebtoken
mongoose:NodeJS 中操作 MongoDB 数据库的一个对象模型库,它封装了 MongoDB 对文档操作的常用处理方法(增删改查),让 NodeJS 操作 MongoDB 数据库变得快捷灵活。
fs:NodeJS 的一个核心模块,专门用来操作系统中的文件,常用的操作方式是对文件的读取和写入。
multer:NodeJS 的一个中间件,用于处理 multipart/form-data 类型的表单数据,主要用于上传文件。
md5:一种加密算法,用于登录时给密码加密。
jsonwebtoken:身份验证,可以设置加密方式、过期时间、存放个人信息、逆解析。
2、使用 mongoose 连接 MongoDB :
一般连接:
mongodb://127.0.0.1:27017/database
# 127.0.0.1 服务器地址
# 27017 端口
# database 连接的数据库
权限认证连接:
mongodb://username:password@127.0.0.1:27017/database?authSource=admin
# username 用户名称
# password 用户密码
# 127.0.0.1 服务器地址
# 27017 端口
# database 连接的数据库
# ?authSource=admin 权限来源
3、 /bin/www 文件中的 http 与 https 连接
http:
var http = require('http');
var server = http.createServer(app);
https:
var fs = require('fs');
var https = require('https');
var options = {
key: fs.readFileSync('./cert/private.pem'), // 私钥
cert: fs.readFileSync('./cert/fullchain.crt') // 证书
};
var server = https.createServer(options, app);
1、发布时需将整个 express 项目的所有文件上传
2、pm2 是 node 进程管理工具,应用发布到服务器后,可以利用它来简化很多 node 应用管理的繁琐任务,如性能监控、 自动重启、负载均衡等,使用简单。
安装(这里演示的 linux 服务器):
npm install -g pm2
检查是否配置好
pm2 -v
如果提示 pm2 命令未找到,则需要进行下面的操作:
找到 pm2 的安装目录,一般会在 /usr/local/node/node_global 中,这时需要创建软连接,配置全局环境变量
ln -s /usr/local/node/node_global/bin/pm2 /usr/local/bin/
# /usr/local/node/node_global/bin/pm2 pm2 的安装目录
# /usr/local/bin/ 设置全局环境变量的目录
这时再检查是否配置好
pm2 -v
常用命令:
pm2 start ./bin/www 启动应用程序
pm2 start ./bin/www --watch 当文件变化时自动重启应用
pm2 list 列表查看启动的所有 node 应用程序
pm2 startup 创建开机自启动命令
pm2 save 保存当前应用列表
pm2 delete 0 删除指定 id 为 0 的应用
pm2 delete all 关闭并删除所有应用
pm2 restart all 重启所有应用