Выскочка Ubuntu не возродится - PullRequest
1 голос
/ 12 августа 2011

Это проблема, с которой я столкнулся в Ubuntu 11.04 с двумя написанными мной сценариями upstart для Node и Nginx.Я буду использовать Node здесь в качестве примера.Я использую довольно стандартную настройку, как в учебных пособиях, таких как http://howtonode.org/deploying-node-upstart-monit:

start on started mountall
stop on shutdown

respawn
respawn limit 5 60

sudo -u username /usr/local/bin/node /path/to/app.js 2>&1 >> /var/log/node.log

Начинается нормально с "запуска приложения"Но затем я вручную убил процесс узла, чтобы вызвать перезапуск, и, к сожалению, выскочка не возродила его.На самом деле, выскочка не будет возрождать, независимо от того, что я делаю.Он показывает следующее, хотя Node вообще не запускается:

> sudo start app
app start/running, process 15211
> sudo stop app
stop: Unknown instance: 
> sudo status app
app stop/waiting

1 Ответ

1 голос
/ 28 сентября 2011

Попробуйте изменить часть sudo своего кода ниже. Я знаю, что вы должны включить экспорт домой, хотя я не видел никаких документов, объясняющих почему. Вы меняете место, где написано «sudo -u username» на имя пользователя, который будет правильно запускать этот код? Вы также изменяете путь к правильному расположению app.js на сервере правильно?

script  
    export HOME="/root"  
    exec sudo -u username /usr/local/bin/node /path/to/app.js 2>&1 >> /var/log/node.log  
end script  

Я не уверен, поможет ли это, но я видел, как некоторые люди заменили:

start on started mountall  

до

start on (local-filesystems and net-device-up IFACE=eth0)
...