一、 环境
Linux操作系统: centos6.9
安装nodejs语言版本: v8.x
二、 安装步骤
1、 输入命令
[root@VM_0_11_centos ~]# curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -
[root@VM_0_11_centos ~]# sudo yum install -y nodejs
2、 验证安装是否成功
[root@VM_0_11_centos ~]# node -v
v8.11.3
三、 后台运行nodejs
1、 npm全局安装forever
[root@VM_0_11_centos ~]# npm install forever -g
/usr/bin/forever -> /usr/lib/node_modules/forever/bin/forever
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/forever/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
+ [email protected]
added 120 packages in 15.587s
2、 后台运行js文件
[root@VM_0_11_centos ~]# forever start index.js
warn: --minUptime not set. Defaulting to: 1000ms
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info: Forever processing file: index.js
error: Cannot start forever
error: log file /root/.forever/forever.log exists. Use the -a or --append option to append log.
如上面出现这样的error报错,说明日志文件不存在,需要手动添加,执行如下命令:
[root@VM_0_11_centos ~]# forever start -a index.js
warn: --minUptime not set. Defaulting to: 1000ms
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info: Forever processing file: index.js
3、 forever查看正在运行的js文件
[root@VM_0_11_centos ~]# forever list
info: Forever processes running
data: uid command script forever pid id logfile uptime
data: [0] lSv2 /usr/bin/node index.js 23304 23310 /root/.forever/lSv2.log STOPPED
4、 forever停止执行后台运行的js文件
[root@VM_0_11_centos ~]# forever stop 0
forever stop uid : uid 就是 forever list 中的uid
也可以这样 forever stop js文件
[root@VM_0_11_centos ~]# forever stop index.js
5、 forever常用命令(转自 https://www.jianshu.com/p/669a618f3212)
forever start app.js #启动应用
forever stop app.js #关闭应用
forever restartall #重启所有应用
#输出日志和错误
forever start -l forever.log -o out.log -e err.log app.js
# 指定forever信息输出文件,当然,默认它会放到~/.forever/forever.log
forever start -l forever.log app.js
# 指定app.js中的日志信息和错误日志输出文件,
# -o 就是console.log输出的信息,-e 就是console.error输出的信息
forever start -o out.log -e err.log app.js
# 追加日志,forever默认是不能覆盖上次的启动日志,
# 所以如果第二次启动不加-a,则会不让运行
forever start -l forever.log -a app.js
# 监听当前文件夹下的所有文件改动(不太建议这样)
forever start -w app.js
# 显示所有运行的服务
forever list
######停止操作
# 停止所有运行的node App
forever stopall
# 停止其中一个node App
forever stop app.js
# 当然还可以这样
# forever list 找到对应的id,然后:
forever stop [id]
# 开发环境下
NODE_ENV=development forever start -l forever.log -e err.log -a app.js
# 线上环境下
NODE_ENV=production forever start -l ~/.forever/forever.log -e ~/.forever/err.log -w -a app.js
#上面加上NODE_ENV为了让app.js辨认当前是什么环境用的
作者:极地瑞雪
链接:https://www.jianshu.com/p/669a618f3212
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。