首次部署Node项目,开发环境的话使用node server.js 就可以开启node服务,但是关闭窗口的话,node也会关闭。显然在生产环境不能这么做,生产环境下node程序必须时刻在运行着,不能因为关闭窗口就关闭服务,所以需要后台运行。
最简单的后台运行方法是:
nohup node index.js > myLog.log 2>&1 &
用途:LINUX命令用法,不挂断地运行命令。
语法:nohup Command [ Arg ... ] [ & ]
但是这种方式只是让node在后台运行,但是node是单线程的,遇到一个错误就会导致node奔溃!无法运行。
第二种方式是使用forever(推荐)
但是使用forever能处理更多的事情,比如宕机重启,热部署,日志记录等常用的功能。这个会在node因某些原型退出之后,迅速重启,满血复活。
安装forever
npm install forever -g
使用forever启动服务
forever start server.js
但是有的时候forever安装成功之后,但是使用forever命令的时候会报错 : forever is not command .....
这个时候需要ln,首先你要找到forever安装的位置(我的是在Node/node-v4.4.7-linux-x64/bin 下)
In -s /Node/node-v4.4.7-linux-x64/bin/forever /usr/local/bin
首先注意usr指的是 Unix System Resource,而不是User,然后通常/usr/bin下面的都是系统预装的可执行程序,会随着系统升级而改变,/usr/local/bin目录是给用户放置自己的可执行程序的地方,推荐放在这里,不会被系统的升级覆盖同名文件
启动服务并输出日志
forever start -l forever.log -o out.log -e err.log server.js
停止服务
forever stop server.js
启动时报异常
解决方法:
forever start -a -l forever.log -o out.log -e err.log server.js
文章评论