Node服務在斷開SSH後停止運行解決方案(創建守護進程)

我今天來單位發現ElasticSearch-Head掛了,基本上每天早上來上班都是掛掉的,我tm就懷疑這不是一個偶然現象,排查了一番發現是node進程在斷開SSH之後後臺就會停止運行了,網上的方法都試過了,有用nohup的,有用forever的,有直接寫npm start &的,然而都並沒有什麼卵用,懷疑都是沒經過大腦直接抄襲別人的文章。

有效的解決方案是在Linux中安裝pm2來管理node進程,那到底pm2是幹嘛的?網上找了一下介紹:pm2 是一個帶有負載均衡功能的Node應用的進程管理器。可以把你的獨立代碼利用全部的服務器上的所有CPU,並保證進程永遠都活着,0秒的重載。大致意思就是和linux守護進程一樣能一直運行node程序,下面我們來安裝一下

npm install -g pm2
ln -s /data/node-v12.4.0-linux-x64/bin/pm2 /usr/bin/pm2

可以通過pm2 -v 驗證,用法就是下面這幾種

pm2 start npm -- run start
pm2 list
pm2 stop 
pm2 restart 
pm2 delete

通過pm2來運行你的npm命令就可以保證node程序不會因爲SSH斷開掛掉了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章