簡體   English   中英

使用Upstart運行Node.js應用

[英]Running nodejs app using Upstart

我想通過Upstart自動啟動編寫的Node.js應用程序。 為此,我創建了以下auroraserver.conf:

#!upstart
description "Aurora Server"
author "Simon"
start on (local-filesystems and net-device-up IFACE=eth0) 
stop on shutdown
# Automatically Respawn:
respawn # restart when job dies
respawn limit 10 5  # give up restart after 99 respawns in 5 seconds

script
    export HOME="/root"
    exec sudo -u www-data NODE_ENV="production" /usr/bin/nodejs /root/Aurora-Messenger/app.js >> /var/log/auroraserver.log 2>&1
    echo "Forwarding traffic from port 89 to 5000" >> /var/log/auroraserver.log 
    exec iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000
end script

post-start script
    # Date format same as (new Date()).toISOString() for consistency
    echo "[`date -u +%Y-%m-%dT%T.%3NZ`] Server was started" >> /var/log/auroraserver.log
end script

auroraserver.log:

Error: Cannot find module '/Aurora-Messenger/app.js'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3

當我直接通過nodejs app.js啟動服務器時,它工作正常。 目前,我不知道什么會導致這個問題。 希望可以有人幫幫我。

問候西蒙

Cannot find module '/Aurora-Messenger/app.js'表示該文件不存在或權限使得用戶www-data無法讀取該文件。 如果該文件確實存在,則問題可能出在/root目錄上。 我不希望用戶www-data可以訪問root用戶的主目錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM