【问题标题】:Upstart node.js working directory新贵 node.js 工作目录
【发布时间】:2013-01-27 06:04:25
【问题描述】:

使用 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

【问题讨论】:

    标签: node.js relative-path upstart working-directory


    【解决方案1】:

    解决方案是在脚本中更改目录。在我的例子中,用户是 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
    

    我还没有弄清楚 $$ 在 echo 行或 2>&1 上的含义。如果他们知道的话,也许有人可以插话!

    【讨论】:

    • 看看这里 $$ 是什么:stackoverflow.com/questions/5163144/…
    • 它说我可以在 2 天内 :-/
    • 为什么需要管理自己的日志记录和保存 pid?新贵为您管理。看看/var/log/upstart/mynodeapp.logstatus cws-frontend 命令。
    【解决方案2】:

    您应该按照 Upstart 文档使用 chdir 节:http://upstart.ubuntu.com/cookbook/#chdir

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-03
      • 2014-04-10
      • 2014-06-12
      • 1970-01-01
      • 1970-01-01
      • 2021-04-24
      • 2012-12-08
      • 2023-03-21
      相关资源
      最近更新 更多