关于python:Nginx,uWSGI,Flask应用程序直到服务器重启后才会显示更改

Nginx, uWSGI, Flask app doesn't show changes until the server is restarted

每次更新Python文件时,都必须重新启动服务器才能看到更改。 我尝试过重启Nginx和uWSGI,但是没有运气。 Flask在调试模式下运行。 在不重新启动整个服务器的情况下如何查看更改?

app.py

1
2
3
4
5
6
7
8
9
10
11
12
13
from flask import Flask
import time
import cv2

app = Flask(__name__)

@app.route("/")
def main():
   return"Hello cob at" + time.time().__str__() +"\
"


if __name__ =="__main__":
    app.run(debug=True)

uwsgi.ini

1
2
3
4
5
6
[uwsgi]
socket = :9090
plugin = python
wsgi-file = /home/vagrant/PythonVision/app.py
process = 3
callable = app

nginx.conf

1
2
3
4
5
6
server {
  location / {
    include uwsgi_params;
    uwsgi_pass 127.0.0.1:9090;
  }
}

我正在通过以下步骤对此进行测试:

  • 将返回消息从" Hello Cob"更改为" Hello Bob",保存文件
  • 在浏览器中刷新页面(清除浏览器缓存)不变
  • 重启sudo服务uwsgi,重启sudo服务nginx
  • 在浏览器中刷新页面(清除浏览器缓存)不变


因此,解决此问题的一种方法是在uwsgi.ini文件中执行此操作

touch-reload = /home/vagrant/PythonVision/app.py

然后我触摸文件app.py和BANG排序


要在调试模式下实际运行flask应用,请运行以下命令:

python /home/vagrant/PythonVision/app.py

然后,您可以继续使用浏览器:http:// ip:5000 /。

由于我知道您是在无所事事的环境中运行的,因此ip可能是由您的配置定义的,但这超出了此问题的范围。