0

私のスタックは、spawn-fcgi を使用して python web.py fast-cgi スクリプトを実行する nginx です。runit を使用して、プロセスをデーモンとして存続させています。spawed-fcgi に UNIX ソケットを使用しています。

以下は、/etc/sv/myserver/run に実行ファイルがある myserver という私の runit スクリプトです。

exec spawn-fcgi -n -d /home/ubuntu/Servers/rtbTest/ -s /tmp/nginx9002.socket -u www-data -f /home/ubuntu/Servers/rtbTest/index.py >> /var/log/mylog.sys.log 2>&1

sripts への変更を本番サーバーにプッシュする必要があります。paramiko を使用してボックスに ssh し、index.py スクリプトを更新します。

私の質問はこれです。ベスト プラクティスを使用して index.py を適切に再読み込みし、新しいコードに更新するにはどうすればよいですか。

私は使用しますか:

sudo /etc/init.d/nginx reload

runit スクリプトを再起動しますか: sudo sv start myserver

または、両方を使用しますか?

sudo /etc/init.d/nginx reload
sudo sv start myserver

それとも上記のどれでもない?

4

1 に答える 1

1

基本的に、Python スクリプトをロードしたプロセスを再起動する必要があります。これは spawn-cgi であり、nginx 自体ではありません。nginx は Unix ソケットを介してのみ spawn-cgi と通信し、spawn-cgi プロセスの再起動により接続が失われた場合でも再接続します。

したがって、私は単純なものをお勧めしsudo sv restart myserverます。nginx 自体を再起動/再ロードする必要はありません。

于 2012-03-19T20:22:19.267 に答える