Nginx、uWSGI、Flask 应用程序在服务器重新启动之前不会显示更改
Nginx, uWSGI, Flask app doesn't show changes until the server is restarted
每次更新 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__() + "\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;
}
}
我正在通过以下步骤对此进行测试:
- 将 return 消息从 "Hello cob" 更改为 "hello bob",保存文件
- 在浏览器中刷新页面(清除浏览器缓存)无变化
- 执行 sudo service uwsgi restart,sudo service nginx restart
- 在浏览器中刷新页面(清除浏览器缓存)无变化
实际上 运行 你的 flask 应用处于调试模式,你 运行 这个命令:
python /home/vagrant/PythonVision/app.py
然后你就可以在你的浏览器上:http://ip:5000/.
因为我知道你在 vagrant 上 运行ning 这个,ip
可能由你的配置定义,但这超出了这个问题的范围。
所以,我解决这个问题的一种方法是在我的 uwsgi.ini 文件中执行此操作
touch-reload = /home/vagrant/PythonVision/app.py
然后我触摸文件 app.py 和 BANG 排序
每次更新 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__() + "\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;
}
}
我正在通过以下步骤对此进行测试:
- 将 return 消息从 "Hello cob" 更改为 "hello bob",保存文件
- 在浏览器中刷新页面(清除浏览器缓存)无变化
- 执行 sudo service uwsgi restart,sudo service nginx restart
- 在浏览器中刷新页面(清除浏览器缓存)无变化
实际上 运行 你的 flask 应用处于调试模式,你 运行 这个命令:
python /home/vagrant/PythonVision/app.py
然后你就可以在你的浏览器上:http://ip:5000/.
因为我知道你在 vagrant 上 运行ning 这个,ip
可能由你的配置定义,但这超出了这个问题的范围。
所以,我解决这个问题的一种方法是在我的 uwsgi.ini 文件中执行此操作
touch-reload = /home/vagrant/PythonVision/app.py
然后我触摸文件 app.py 和 BANG 排序