Nodejs 的部署实践
本项目使用脚手架front-end-separate ,启动使用模块 better-npm-run
通过svn部署
- 部署前,确认项目代码中的配置文件 path,端口,api 域名等
- 提交代码
- 服务器检出或更新svn
- 如服务器配置与开发中不同,可能需要解决冲突文件
- grunt打包
grunt build
- 启动
npm run prod
prod参数作用在下面有解释
- 浏览器访问测试
代码上传部署
- 在本地执行打包命令
- 将dist下文件上传致服务器!
守护进程
如果使用默认的程序会发现关闭远程链接后,服务就宕了!google之,最终使用 forever
修改了package.json 中启动代码:
"scripts": {
"start": "better-npm-runstart",
"prod": "better-npm-runprod",
"stop": "forever stop app.js"
},
"betterScripts": {
"start": {
"command": "nodeapp"
},
"prod": {
"command": "forever start app.js",
"env": {
"NODE_ENV": "production"
}
}
}
需要安装模块 npm i forever
启动命令不变,可以使用npm run stop
停止进程
参考: