0

最近、チェロキーを使用してuWSGIで動作する最初のアプリを入手しました。uWSGIドキュメントから取得した次のコードを使用しました。

def application(environ, start_response):
  start_response('200 OK', [('Content-Type', 'text/plain')])
  yield 'Hello World\n'

ページは正しく表示されますHello World。そのテキストをに変更してNew Thing更新しても、何も変わりません。何を忘れているの?

私が試したこと:

  1. ブラウザの履歴とキャッシュをクリアする
  2. チェロキーの停止と開始


編集:明確にするために、Pythonコードでに変更Hello Worldします。New Thing次に、チェロキーを停止して更新すると、明らかにエラーメッセージが表示されます。チェロキーを再起動して更新すると、が表示されますHello World

4

1 に答える 1

2

つまり、これが機能する方法は、チェロキーがバックグラウンドで実行中の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を介して実行され、Cherokeeはプロキシサーバーのようなものです。アプリコードを更新するには、HUPシグナルをCherkeeではなくuwsgiに送信する必要があります。

sudo killall -HUP uwsgi

これにより、チェロキーに関係なく、uwsgiがアプリの変更に更新されます。

于 2010-06-13T15:36:05.040 に答える