(一)node 开发和部署流程(5步)
(1)写一个Node服务
使用 Koa、Koa-router,保证在本地服务能够跑起来
index.js:
const Koa = require('koa')
const router = require('./router')
const app = new Koa()
app.use(router.routes())
app.use(async (ctx, next) => {
})
app.listen(3000, () => {
console.log('serve is running at 3000')
})
route.js:
const router = require('koa-router')() // 相当于new实例化
router.get('/', async (ctx, next) => {
ctx.body = 'hello world'
}).get('/login', (ctx, next) => {
ctx.body = {
msg: 'here is msg',
query: ctx.query,
queryString: ctx.querystring
}
})
module.exports = router
package.json:
{
"name": "node",
"version": "1.0.0",
"description": "",
"main": "index.js",
"dependencies": {
"koa-static": "^5.0.0",
"koa": "^2.11.0",
"koa-compose": "^4.1.0",
"koa-convert": "^1.2.0",
"koa-router": "^8.0.8"
},
"devDependencies": {
"koa-views": "^6.2.2"
},
"scripts": {
"dev": "node index.js"
},
"author": "",
"license": "ISC"
}
npm run dev 运行,服务就跑起来了
(2)有一台服务器
购买。。此处略去
在这里就以本机服务器为例~
把代码上传到服务器上去,上传有很多种方法:ftp、git 等,需上传node_modules
curl http://local.djtest.cn:3000/
curl 是常用的命令行工具,用来请求 Web 服务器。
说明请求成功
(3)安装并使用PM2
npm i -g pm2
pm2安装成功
pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能
(4)用 pm2 启动 node 服务
在堡垒机中,进入 node 文件夹下
pm2 start index.js
启动服务
// 列出所有进程/应用
pm2 list
// 查看进程/应用的资源消耗情况
pm2 monit
// 查看pm2的日志
pm2 logs
// 若要查看某个进程/应用的日志
pm2 logs xxx
// 重新启动进程/应用
pm2 restart xxx
// 重新启动所有进程/应用
pm2 restart all
// 结束所有进程/应用
pm2 stop all
// 结束进程/应用
pm2 stop xxx
这些需要在堡垒机上查看
(4)安装Nginx
输入 nginx -v 如果输出版本号,则说明安装成功
nginx -v
(5)配置Nginx
编辑nginx配置文件:
vim /usr/local/etc/nginx/nginx.conf
主要配置:
server {
listen 8070; // 端口号
server_name localhost;
charset utf-8;
#access_log logs/host.access.log main;
location / {
root /Users/ryan/workspace/learning/react; // 指向的本地文件
index index.html index.htm; // 默认文件
}
....
}
然后启动就可以了