2013-02-08 120 views
8

我更改了一個.py文件和更改反映在本地開發。 Django服務器刪除.pyc後。 生產服務器甚至沒有.pyc這個特定的文件。嘗試接觸apache wsgi並重新啓動apache的產品。服務器,但沒有運氣。 即使刪除此.py文件也會使應用程序工作相同。有memcached安裝,但我不知道它如何緩存,也有.git以及5個服務器託管 - 一個主要的4負載平衡器。Django代碼更改沒有反映在生產服務器上

問候!

+1

聲音像頁面被緩存在某處,如反向代理 – Tarilo

+0

請您詳細說明並指定我可以嘗試清除緩存的內容嗎? –

+0

我不是系統管理員,所以我不能真正幫你解決具體問題 – Tarilo

回答

7

100%確定您正在查看正在進行更改的正確服務器?我知道這聽起來很愚蠢,但是,你爲什麼不停止Apache,你仍然可以運行這個頁面呢?如果你可以,那麼你肯定沒有正確的服務器。

如果不是,下次嘗試重新加載Apache(這與重新啓動不同)。

sudo service apache2 reload 

如果仍然不工作,然後發佈您的Apache設置,如果必須找上了錯誤的文件夾到一個你推到。

+0

感謝... Reload做到了魔法,間歇性地工作,說出10次中的8次......任何建議如何永久修復...... –

+1

這取決於您是否收到錯誤。它可能會給你一個想法 –

+0

正如@Tarilo在對問題的評論中提到的,瀏覽器緩存靜態c意圖有時可能會產生同樣的問題。和我一樣,我對網頁CSS的更改沒有在製作中顯示出來。浪費大約20分鐘尋找問題,直到Tarilo的評論提醒我清除立即解決問題的緩存。不是這個具體問題的解決方案,但它可以爲他人節省一些時間。 –

2

你如果使用uwsgi在uwsgi設置 網關設置的觸摸重載參數去重新啓動服務器(WSGI,UWSGI或任何你在生產環境中使用)

+0

服務器已經硬啓動,並且apache重新啓動。 WSGI也必須重新啓動?對不起,我對WSGI的事情並不瞭解。只是從其他類似的帖子閱讀它。 –

+0

如果您重新啓動服務器,則不需要重新啓動進程。如果這對你沒有幫助,也許你還必須清理sources目錄中的* .pyc文件。但我認爲這足夠了,如果你只是硬重啓。 – Igor

+0

即使刪除.py文件也不會影響。這意味着它肯定被緩存,並且沒有.pyc對應於此。我甚至試過/ –

1

,你只需要

$ touch <your-touch-reload-file> 

在控制檯反映變化

如果你使用Apache mod_python的使用或mod_wsgi的,你必須重新啓動Apache應用更改

+0

使用mod_wsgi的... 試圖/etc/init.d/apache2停止 然後/etc/init.d/apache2開始 仍然無法正常工作:( 即使增加一個新的URL沒有按發現't work。肯定被緩存在某個地方! –

+0

@Levon你能提供或者指向我一個在uwsgi中觸摸重新加載的例子麼? – Nikhilesh

+0

@Nikhilesh http://uwsgi-docs.readthedocs.org/en/latest/Options.html #touch-reload – Alexey

相關問題