![](/img/trans.png)
[英]Nothing happen after made changes on Flask app in server using uwsgi
[英]flask app not applying code changes to server with uwsgi and supervisor
我有一個使用uwsgi,nginx和超級用戶運行的flask應用程序。 不管我嘗試什么,我似乎都無法使代碼更改在服務器上生效。
如果我在本地運行該應用程序,則更改在那里。 如果我停止並啟動uwsgi,更改將生效。 如果我重新啟動Supervisor服務,則更改不會生效。
我知道代碼已更改,因為我登錄並看到了所做的更改,但它仍在特定路徑上運行舊代碼。 如果我更改頁面標題,這些更改會立即生效,但是對於我的webhook端點,它們似乎永遠不會更改。
這是我的配置文件。
app.ini
[uwsgi]
module = wsgi
master = true
processes = 5
socket = app.sock
chmod-socket = 660
vacuum = true
die-on-term = true
supervisor
[program:app.io]
command=/home/www/beta/v_env/bin/uwsgi --ini /home/www/beta/app.ini --chown-socket www-data:www-data
directory=/home/www/beta
autostart=true
autorestart=true
stdout_logfile=/home/logs/app_uwsgi.log
redirect=true
stopsignal=QUIT
nginx
server {
listen 80;
server_name beta.domain.io;
location / {
include uwsgi_params;
uwsgi_pass unix:/home/www/beta/app.sock;
uwsgi_read_timeout 1800;
}
}
在測試時,我也從上游讀取響應報頭時,在上游過早關閉連接時收到很多此錯誤
如果您對代碼所做的更改未反映在程序的行為中,則說明您的代碼沒有被重新加載,或者沒有被更改,或者您誤解了所做的更改。 對我而言,最常見的情況是.pyc文件無法刷新。 您可以嘗試清除項目中的所有pyc文件,然后假設您有任何pyc文件,然后再次啟動它。 這也將具有重新啟動應用程序的好處。
在執行任何操作之前,我建議您使用主管重新啟動您的應用程序。 如果您的應用程序在主管內,則可以使用以下相關方法:
supervisorctl stop all
supervisorctl start all
supervisorctl restart all
編輯:我忘了提一下,如果您正在瀏覽器中查看它,那么可以想象瀏覽器正在緩存舊版本。 如果是這種情況,則需要進行硬刷新。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.