Это часть сценария запуска для моего вычислителя экземпляракоманда 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, я изменил его, чтобы у меня был доступ к корню. Когда моя виртуальная машина запускается, он выполняет сценарий, но я не могу получить доступ к веб-сайт, когда я SSH в экземпляр и введите
sudo node app.js
однако, все работает. У вас не могут быть команды sudo в сценарии запуска?
Почему 'supervisord' не работает как root? Какой пользователь * * работает? Это тот же пользователь, которого вы использовали при успешном запуске 'sudo node app.js'? У вашей конфигурации 'sudo' есть опция' requiretty'? – larsks
Как я могу управлять суперсобой как root? Что такое вариант requiretty? Это код из учебника «deploy nodejs app on google compute engine». Я не понимаю этого полностью. – Rockstar5645
Должен ли я добавить весь сценарий запуска? – Rockstar5645