前几天我有了自己的 linode 服务器,并从 aws linux 上移动了一个我正在玩的小型 nodejs/express。一切都很好,但是如果我用 upstart 启动应用程序,它就不会以正确的权限运行,也无法将文件写入磁盘。我尝试了新贵脚本的各种变体,以 root 身份,以我的用户名,www-data 身份,但没有任何效果。我将publicexpress的目录设置为 777 即使只是作为测试,但没有运气。我开始我的新贵工作sudo start now-images-manager。当我运行时,ps -ef我得到以下输出:
root 25150 1 0 11:26 ? 00:00:00 sudo node /home/myusername/sites/now-images-manager/app.js
root 25151 25150 0 11:26 ? 00:00:03 node /home/myusername/sites/now-images-manager/app.js
Run Code Online (Sandbox Code Playgroud)
这是我的新贵脚本:
#!upstart
description "now-images-manager startup script"
author "me@me.com"
start on startup
stop on shutdown
script
export HOME="/root"
echo $$ > /var/run/now-images-manager.pid
exec sudo node /home/myusername/sites/now-images-manager/app.js >> /home/myusername/sites/now-images-manager/now-images-manager.sys.log 2>&1
# exec sudo -u myusername /usr/bin/node /home/myusername/sites/now-images-manager/app.js >> /home/myusername/sites/now-images-manager/now-images-manager.sys.log 2>&1 …Run Code Online (Sandbox Code Playgroud)