工作这是启动脚本对我的计算引擎实例sudo命令不启动脚本
# Configure supervisor to run the node app.
cat >/etc/supervisor/conf.d/node-app.conf << EOF
[program:nodeapp]
directory=/opt/app
command=sudo node app.js
autostart=true
autorestart=true
user=nodeapp
environment=HOME="/home/nodeapp",USER="nodeapp",NODE_ENV="production"
stdout_logfile=syslog
stderr_logfile=syslog
EOF
一部分。如果您发现该行
command=sudo node app.js
原来这只是
command=node app.js
但由于我的应用程序正在侦听端口80,所以我对其进行了修改,以便可以拥有root访问权限。当我的虚拟机启动时,它执行脚本,但是当我使用SSH连接实例,我不能访问自己的网站,并输入
sudo node app.js
然而,一切正常。启动脚本中不能有sudo命令?
为什么'supervisord'不能以root身份运行?什么用户*是*它运行?这是你成功运行'sudo node app.js'时使用的用户吗?你的'sudo'配置是否设置了'requiretty'选项? – larsks
我如何以root身份运行supervisord?什么是requiretty选项?这是来自“Google计算引擎上的deploy nodejs应用程序”教程的代码。我完全不理解它。 – Rockstar5645
我应该添加整个启动脚本吗? – Rockstar5645