[操作疑難] oracle cloud centos 8 使用 Systemd 建立 Node.js rest server service

本帖最後由 gamezz 於 2022-5-19 10:45 編輯

我跟住這教學在oracle cloud centos 8 使用 Systemd 建立 Node.js rest server service:
https://blog.gtwang.org/linux/no ... d-service-tutorial/

可是 status 顯示 test.service: Start request repeated too quickly.
test.service: Failed with result 'exit-code'.

test.js
  1. const http = require('http');

  2. const hostname = '0.0.0.0';
  3. const port = process.env.NODE_PORT || 3000;

  4. const server = http.createServer((req, res) => {
  5.   res.writeHead(200, { 'Content-Type': 'text/plain' });
  6.   res.write("Hello, world.");
  7.   res.end();
  8. });

  9. server.listen(port, hostname, () => {
  10.   console.log("Server running at http://" + hostname + ":" + port + "/");
  11. });
複製代碼
test.service
  1. [Unit]
  2. After=network.target

  3. # 服務名稱
  4. Description=My Node.js App

  5. [Service]
  6. Type=simple

  7. # 設定環境變數
  8. Environment=NODE_PORT=3000 NODE_ENV=production

  9. # 執行服務的使用者
  10. User=root

  11. # 啟動服務指令
  12. ExecStart=/usr/bin/node /var/www/node4/test.js

  13. # 不正常停止時重新啟動
  14. Restart=on-failure

  15. [Install]
  16. WantedBy=multi-user.target
複製代碼
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

本帖最後由 javacomhk 於 2022-5-19 03:49 編輯

Avoid running nodejs service as root for security reasons.

change it to something like
User=ubuntu

TOP

原來 permission 問題, copy node 去 /usr/local/bin/ 就ok, thanks.

TOP

原來 permission 問題, copy node 去 /usr/local/bin/ 就ok, thanks.
gamezz 發表於 2022-5-19 12:37 PM


亂咁搬啲 program 只會衍生更多問題
建議你用 pm2 管理
pm2 start test.js
然後行 pm2 startup 佢會幫你生成 startup script

TOP

回覆 4# louislam

之前係用pm2,只係試下另一個方法係咪好d

TOP