Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Nginx、uWSGI、Flask应用程序不';在服务器重新启动之前,不要显示更改_Python_Nginx_Flask_Uwsgi - Fatal编程技术网

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__() +

每次更新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;
  }
}
我正在通过以下步骤对此进行测试:

  • 将返回消息从“Hello cob”更改为“Hello bob”,保存文件
  • 在浏览器中刷新页面(清除浏览器缓存)无更改
  • sudo服务uwsgi重启,sudo服务nginx重启
  • 在浏览器中刷新页面(清除浏览器缓存)无更改

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

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状态?此外,它将无法呈现任何内容?在流浪的瞬间改变代码