2013-07-16 4 views
7

Я пытаюсь настроить uWSGI с помощью Upstart.Управление uWSGI с Upstart

Я создал файл /etc/init/uwsgi-flask.conf:

description "uwsgi for flask" 
start on runlevel [2345] 
stop on runlevel [06] 
exec /appdir/virtualenvdir/bin/uwsgi /appdir/virtualenvdir/uwsgi.ini --die-on-term 

После перезагрузки, он начинает правильно, но я не в состоянии остановить службу.

Если я печатаю на оболочке initctl stop uwsgi-flask, это дает:

initctl: Unknown instance: 

у кого есть какие-либо идеи?

+0

Стандартная команда для остановки задания - 'sudo stop service-name'. Если вы не выполняете 'initctl' как root, тогда логично, что экземпляр неизвестен, поскольку процесс запуска (перезагрузки) не будет доступен в пользовательском пространстве, так как он будет запущен root как системное задание. Однако я предполагаю, что вы прекратили работу с правами root. Не могли бы вы разместить соответствующий контент /var/log/upstart/uwsgi-flack.log? Похоже, что ваша работа либо не начинается вообще, либо выходит из нее после запуска. Вы можете найти полезную информацию [здесь] (http://blog.kramerapps.com/post/22551999777/flask-uwsgi-nginx-ubuntu). –

+0

@schkovich Я фактически пытаюсь остановить службу как пользователь, который запускает uwsgi, который является не-root. Я попробовал 'sudo stop uwsgi-flask' ​​вместо этого, но он дает что-то подобное' stop: Unknown instance: '. В журнале говорится, что сервер uwsgi запущен, но я не могу остановить его с помощью команд, которые я набрал. –

+0

Даниэль, у меня точно такая же проблема. Вы нашли решение? –

ответ

8

Возможно, у вас daemonize=some/log/file/path в вашем ini-файле. Это заставит процесс выйти с «нормальным» кодом выхода, поэтому Upstart будет считать, что вы хотите, чтобы работа была остановлена ​​и прекратила работу.

Удалить демон и выскочить будет отслеживать процесс на переднем плане.

Смежные вопросы