【伺服器】CentOS下部署執行NodeJs Web App

啃先生發表於2016-03-05
NodeJs Web App測試完成後,要怎麼部署呢?介紹兩個不錯的方案

已知以下情景:

  1. 我要為 「kenniu」這個專案做配置

  2. 它的入口檔案在 「/path/to/entry.js」

  3. 執行的User和Group都是 MrKen

  4. node安裝在了 /usr/bin/node

  5. 監聽埠是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等才支援,不甚清楚

 

此文是閒暇時,把之前公眾號的文章搬過來的。

相關文章