一、 環境
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
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯繫作者獲得授權並註明出處。