python - 如何更新在 ubuntu 上部署在 uWSGI 和 Nginx 上的 flask API 代码?

标签 python api ubuntu nginx flask

我按照指南在这里设置了我的 api:https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-uwsgi-and-nginx-on-ubuntu-14-04

它工作得很好,我现在可以成功地对我的 api 进行查询。我的问题是,现在我想调整我的 flask 应用程序/api 来做一些稍微不同的事情并添加功能,但是我正在 ping 的 API 似乎是旧的,尽管我已经从我的 ssh 更新了服务器上的 flask .py 文件。我尝试完成教程中的所有步骤,我得到了它,希望刷新它访问的代码,但似乎没有任何效果。我尝试过的一些命令是:

sudo nginx -t

sudo service nginx restart

我该如何执行此操作并 ping 更新的 flask .py 文件?

根据 nos 的建议,我尝试了:
restart myproject

但这给出了以下错误:
restart: Rejected send message, 1 matched rules; type="method_call", sender=":1.8" (uid=1000 pid=2596 comm="restart thonapi ") interface="com.ubuntu.Upstart0_6.Job" member="Restart" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init ")

最佳答案

您正在重新启动 Nginx 但不是 uwsgi。 Nginx 只是一个代理服务器,它将请求路由到 wsgi 应用程序。当您更改 Nginx 的配置时,这些命令将起作用。但是当 wsgi 应用程序发生更改时,您必须重新启动 uwsgi 服务。

您可以通过以下命令重新启动服务。这取决于 init 系统服务正在使用什么

如果服务使用 systemd 系统。
sudo systemctl restart myproject
否则,如果它使用 Upstart 脚本。
sudo restart myproject
如果一切都失败了,您可以使用或者如果您不知道正在使用的 init 系统:
sudo service restart myproject

关于python - 如何更新在 ubuntu 上部署在 uWSGI 和 Nginx 上的 flask API 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45691272/

相关文章:

web-services - Spring Security 与 REST Web 服务 - 使用 Curl 测试时无法通过 header 进行身份验证

python - 如何在 Python 中检查列表中的两个数字是否相同

python - 用于在 Python 中查找我连接到的所有网络适配器的脚本

python - 如何在redis中获取特定范围内的索引键?

linux - Fabric Docker 镜像版本 1.1.0-alpha 与此较新版本的 BYFN 不匹配,不受支持

ubuntu - 从两个文件夹中删除公共(public)文件

ubuntu - 如何在 Ubuntu 下使用 OpenLDAP 作为 OpenAM 的存储?

python - 维护 PIP 存储库

C# .. API httpclient 身份验证和使用用户名和密码的代理

ruby-on-rails - 如何为现有的 Ruby on Rails 5 应用程序创建 REST API?