CentOS下部署運行NodeJs Web App
來自: http://www.cnblogs.com/giveiris/p/5246319.html
NodeJs Web App測試完成后,要怎么部署呢?介紹兩個不錯的方案
已知以下情景:
-
我要為 「 kenniu 」這個項目做配置
-
它的入口文件在 「/path/to/entry.js」
-
運行的User和Group都是 MrKen
-
node安裝在了 /usr/bin/node
-
監聽端口是2589
接下分別看這兩種方案。
壹 | Fisrt
方案一:配置System,24小時保持在線
-
cd /etc/systemd/system/
-
sudo vi kenniu.service 輸入以下配置信息
- sudo chmod +x kenniu.service, 加上可執行權限
完成以上操作即可,非常簡單。
啟動:sudo systemctl start kenniu
除了start以外,可以 stop、restart,以及status 查看狀態(出錯時可查看)。此外,還可以 sudo systemctl enable kenniu 來使這項服務 開機自動啟動
親測OK,很爽很好用!
優點:
-
配置簡單,學習成本低
-
出錯自動重啟,24保持在線(如果頻次太高也是會切斷的,所以最靠譜的保障還是得靠監控)
-
通用,不但CentOS支持,其他版本的Linux也支持
缺點:
-
不太靈活
貳 | Second
方案二:編寫Service init腳本
-
cd /etc/init.d/ 或 /etc/rc.d/init.d/
-
sudo vi kenniu,輸入shell腳本(后面再細講)
-
sudo chmod +x kenniu
-
sudo chkconfig --add kenniu
完成以上操作即可。
啟動:sudo service start kenniu
除了start以外,可以 stop、restart等。
親測成功,也很爽!
方案二的腳本怎么寫
到目前為止都很簡單,就剩下最難的——腳本怎么寫。
其大體的框架如以下偽代碼,看注釋。另外 點擊 可以獲取我的完整配置,根據你的情況把上邊的變量值改一下即可用。
優點:
-
自已寫腳本處理,非常靈活,包括各個步驟要輸出什么提示語都可以自己掌控
缺點:
-
需要學些shell腳本
-
不太通用,貌似CentOS、RedHat等才支持,不甚清楚
此文是閑暇時,把之前公眾號的文章搬過來的。