Python Nginx、uWSGI、Flask应用程序不';在服务器重新启动之前,不要显示更改
每次更新Python文件时,我都必须重新启动服务器以查看更改。我尝试重新启动Nginx和uWSGI,但没有成功。Flask正在调试模式下运行。如何在不重新启动整个服务器的情况下查看更改Python Nginx、uWSGI、Flask应用程序不';在服务器重新启动之前,不要显示更改,python,nginx,flask,uwsgi,Python,Nginx,Flask,Uwsgi,每次更新Python文件时,我都必须重新启动服务器以查看更改。我尝试重新启动Nginx和uWSGI,但没有成功。Flask正在调试模式下运行。如何在不重新启动整个服务器的情况下查看更改 app.py from flask import Flask import time import cv2 app = Flask(__name__) @app.route("/") def main(): return "Hello cob at " + time.time().__str__() +
app.py
from flask import Flask
import time
import cv2
app = Flask(__name__)
@app.route("/")
def main():
return "Hello cob at " + time.time().__str__() + "\n"
if __name__ == "__main__":
app.run(debug=True)
uwsgi.ini
[uwsgi]
socket = :9090
plugin = python
wsgi-file = /home/vagrant/PythonVision/app.py
process = 3
callable = app
nginx.conf
server {
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090;
}
}
我正在通过以下步骤对此进行测试:
- 将返回消息从“Hello cob”更改为“Hello bob”,保存文件
- 在浏览器中刷新页面(清除浏览器缓存)无更改
- sudo服务uwsgi重启,sudo服务nginx重启
- 在浏览器中刷新页面(清除浏览器缓存)无更改
python/home/vagrant/PythonVision/app.py
from flask import Flask
import time
import cv2
app = Flask(__name__)
@app.route("/")
def main():
return "Hello cob at " + time.time().__str__() + "\n"
if __name__ == "__main__":
app.run(debug=True)
然后您可以使用浏览器:
因为我知道您正在vagrant上运行此操作,
ip
可能由您的配置定义,但这超出了此问题的范围。因此,我解决此问题的一种方法是在我的uwsgi.ini文件中执行此操作
触摸重新加载=/home/vagrant/PythonVision/app.py
然后我触摸文件app.py和BANG sorted,但是如果他们通过某个WSGI服务器运行它,它很可能不会更新。在调试模式下运行将自动重新加载新的源文件。sudo服务uwsgi是否重新启动?这不是正确的命令吗。我听说有什么地方或.pyc文件?我确实在没有sudo的情况下重新启动了uwsgi服务,但仍然没有更新。我已经列出,最简单的py文件、简单的uwsgi和简单的Nginx文件对我想做的事情没有真正的帮助。我怀疑你的uwsgi或Nginx配置有问题。重新启动uWSGI和nginx时,您能看到是否有任何错误日志吗?如果有问题,为什么重新启动会在右侧显示ok状态?此外,它将无法呈现任何内容?在流浪的瞬间改变代码