2013-10-07 34 views
12

如果我經由主管運行命令(啓動的應用程序):ERROR(沒有這樣的處理)的Nginx + Gunicorn + Supervisord

sudo supervisorctl start myapp 

它被投擲的錯誤:

myapp: ERROR (no such process) 

我創建一個名爲myappsettings.conf:

[program:myapp] 
command = /usr/local/bin/gunicorn -c /home/ubuntu/virtualenv/gunicorn_config.py myapp.wsgi 
user = ubuntu 
stdout_logfile = /home/ubuntu/virtualenv/myapp/error/gunicorn_supervisor.log 
redirect_stderr = true 

什麼是這裏的問題?

謝謝。

回答

35

嘗試:

supervisorctl reread 
supervisorctl reload 

這應該啓動該服務。我在Ubuntu 13.04下以root身份執行此操作。

編輯:

我遇到了麻煩,因爲我張貼這與SIGHUP'ing監事過程。我只想分享我在別處找到的一小段代碼:

sudo kill -HUP `sudo supervisorctl status | grep $APP_NAME | sed -n '/RUNNING/s/.*pid \([[:digit:]]\+\).*/\1/p'` 

以下代碼將向運行APP_NAME的進程發送SIGHUP。這對Gunicorn優雅的重新加載非常有用。

+1

哇...真的他們有沒有把這個文檔中?謝謝你的答案! – jfcartier

+1

我發現這有幫助:http://www.onurguzel.com/supervisord-restarting-and-reloading/ –

+0

問題是,這將重新啓動所有監督的進程,而重新啓動命令是爲了重新啓動一個。 –