繁体   English   中英

flask应用程序未通过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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM