1

gunicorn を実行しているサーバーのインスタンスを起動しようとしています。ここに私のupstartスクリプトがあります:

 expect daemon

 script
     cd /opt/app/live/srv/poi_proxy
     exec /usr/local/bin/gunicorn server:app -c /etc/gunicorn.conf
 end script

そして、ここに gunicorn 設定ファイルがあります:

 bind =  '0.0.0.0:80'
 workers = 3
 worker_class = 'gevent'

私が抱えている問題は、コマンドプロンプトからコマンドを実行すると、サーバーが問題なく起動することです。ただし、upstart スクリプトを使用すると、子プロセスごとに無効なプロセスが生成されます。

また、パスはそれで何かをしなければならないと信じています。コマンドラインからサーバーを起動する場合:

 cd /opt/app/live/srv/poi_proxy
 sudo /usr/local/bin/gunicorn server:app -c /etc/gunicorn.conf

ただし、正常に動作します。

 sudo /usr/local/bin/gunicorn /opt/app/live/srv/poi_proxy/server:app -c /etc/gunicorn.conf

upstart を使用する場合と同じ問題に直面しています

4

1 に答える 1

2

ここでの問題の一部のように見えますが、upstart 構成ファイルにデーモンを期待していますが、デーモン モードで gunicorn を呼び出していません。これにより、pid が正しく報告されず、initctl stop コマンドがハングするはずです。

于 2012-09-12T21:19:21.253 に答える