2013-07-16 9 views
7

Próbuję skonfigurować uWSGI z usługą Upstart.zarządzanie oprogramowaniem uWSGI z usługą Upstart

stworzyłem plik /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 

Na restarcie uruchamia się poprawnie, ale nie jestem w stanie zatrzymać usługę.

Gdybym wpisać na powłoce initctl stop uwsgi-flask, to daje:

initctl: Unknown instance: 

ktoś ma jakiś pomysł?

+0

Standardowe polecenie zatrzymania zadania to 'sudo stop service-name'. Jeśli nie uruchamiasz 'initctl' jako root, logiczne jest, że instancja jest nieznana, ponieważ przy starcie (reboot) proces nie będzie dostępny w przestrzeni użytkownika, ponieważ byłby uruchamiany przez root jako zadanie systemowe. Jednak zakładam, że zatrzymujesz pracę jako root. Czy mógłbyś opublikować odpowiednią treść /var/log/upstart/uwsgi-flack.log? Brzmi to, że twoja praca albo wcale się nie zaczyna, albo wychodzi po starcie. Możesz znaleźć przydatne informacje [tutaj] (http://blog.kramerapps.com/post/22551999777/flask-uwsgi-nginx-ubuntu). –

+0

@schkovich Właściwie to próbuję zatrzymać usługę jako użytkownik, który działa z uwsgi, który nie jest rootem. Próbowałem zamiast tego 'sudo stop uwsgi-flask', ale daje coś podobnego' stop: Nieznana instancja: '. Dziennik mówi, że serwer uwsgi działa, ale nie mogę go zatrzymać za pomocą poleceń, które wpisałem. –

+0

Daniele, mam dokładnie ten sam problem. Czy znalazłeś jakieś rozwiązanie? –

Odpowiedz

8

Prawdopodobnie masz daemonize=some/log/file/path w pliku ini. To spowoduje, że proces zakończy się z "normalnym" kodem wyjścia, więc Upstart uzna, że ​​chcesz zatrzymać zadanie i zakończyć pracę.

Usuń daemonize i upstart będzie śledzić proces na pierwszym planie.