2010-06-13 99 views
0

我最近得到了我的第一個應用程序在uWSGI與切諾基工作。我用從uWSGI docs採取了以下代碼:wsgi-served頁面不刷新

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 WorldNew Thing 。然後我停止切諾基,刷新,我很明顯看到一條錯誤消息。我重新啓動切諾基,刷新,我看到 Hello World

+1

Cherokee產卵uwsgi服務器在停止切諾基服務器後死亡? – estin 2010-06-13 07:44:56

+0

感謝您的評論,但如果uwsgi被殺害,爲什麼'Hello World'繼續顯示?我期望看到一個uwsgi錯誤。 – 2010-06-13 13:40:34

回答

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實際運行切諾基更像是一個代理服務器。爲了更新應用程序代碼,您需要將HUP信號發送給uwsgi,而不是Cherkee。

sudo killall -HUP uwsgi 

這應該會導致uwsgi更新到您的應用程序更改,無論切諾基。

+0

完美!謝謝。 (Ubuntu用戶:'killall'在'psmisc'包中。) – 2010-06-13 16:15:55