使用upstart启动node.js,当试图访问node.js中的文件时,如果不使用完整路径,则无法访问它们。我需要它来使用工作目录。

start on startup
stop on shutdown

script
        echo $$ > /var/run/mynodeapp.pid
        exec sudo -u mynodeapp node server.js >> /var/log/mynodeapp.sys.log 2>&1
end script

pre-start script
        echo "Starting" >> /var/log/mynodeapp.sys.log
end script

pre-stop script
        rm /var/run/mynodeapp.pid
        echo "Stopping" >> /var/log/mynodeapp.sys.log
end script

最佳答案

解决方案是更改脚本中的目录。在我的例子中,用户是mynodeapp,节点文件在用户目录(/home/mynodeapp/)中。

script
        chdir /home/mynodeapp/
        echo $$ > /var/run/mynodeapp.pid
        exec sudo -u mynodeapp node server.js >> /var/log/mynodeapp.sys.log 2>&1
end script

我还没有在回音线上找出$$的意思。如果他们知道的话,也许有人会同意这一点!

07-28 09:14