wsgi で提供されるページが更新されない
質問
私は最近、Cherokee を使用して uWSGI で動作する最初のアプリを入手しました。から取得した次のコードを使用しました uWSGIドキュメント:
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
yield 'Hello World\n'
ページは正しく読み取れます Hello World
. 。そのテキストを次のように変更すると、 New Thing
更新しても何も変わりません。私は何を忘れているのでしょうか?
私が試したこと:
- ブラウザの履歴とキャッシュをクリアする
- Cherokee の停止と起動
編集:明確にするために、私は変更します
Hello World
に New Thing
Pythonコード内で。次に、Cherokee を停止して更新すると、明らかにエラー メッセージが表示されます。Cherokee を再起動し、更新すると、 Hello World
.
解決
これが機能する方法は、チェロキーがあなたのためにバックグラウンドで実行されているuwsgiインスタンスを管理しているということですので。私がこれまでに気づいた、と私は、見て終わっていませんでしたことは、あなたがチェロキーシャットダウンした場合、またuwsgiインスタンスを実行しているシャットダウンしていないようだということです。
これを試してみてください
sudo service cherokee start
ps aux | grep uwsgi
# you should see nothing from this ps command
# now hit your web app
sudo service cherokee stop
ps aux | grep uwsgi
# you should see the instance of uwsgi that cherokee started
だからあなたのアプリのコードが実際にuwsgi経由で実行され、チェロキーは、複数のプロキシサーバーのようなものです。アプリのコードを更新するためには、uwsgi、ないCherkeeにHUPシグナルを送信する必要があります。
sudo killall -HUP uwsgi
uwsgiアプリにアップデートするようになります。は関係なく、チェロキーの変更します。
所属していません StackOverflow