pyramid - 启动 uWSGI 服务器后如何停止它?

标签 pyramid uwsgi

我有一个使用 uwsgi 运行的 Python Pyramid 应用程序,如下所示:

 sudo /finance/finance-env/bin/uwsgi --ini-paste-logged /finance/corefinance/production.ini

一旦它运行并且我的窗口超时,我就无法在不重新启动整个盒子的情况下停止服务器。如何停止服务器?

最佳答案

您可以使用标准 Linux 命令终止 uwsgi 进程:

killall uwsgi

# ps ax|grep uwsgi
12345
# kill -s QUIT 12345

后一个命令允许您进行优雅的重新加载或立即终止整个堆栈 depending on the signal你发送。

但是,您使用的方法通常不会在生产中使用:通常您会告诉操作系统在启动时启动您的应用程序,并在应用程序崩溃时重新启动它。否则,你一定会在某一天在最方便的时间得到一个惊喜:) Uwsgi 文档有 examples Upstart/Systemd 的启动脚本/作业。

还要确保您没有真正以 root 身份运行 uwsgi - 命令中的 sudo 让我感到畏缩,但我希望您有 uid/gid product.ini 中的 选项,以便 Uwsgi 在启动时更改有效用户。以 root 身份运行网络服务器从来都不是一个好主意。

关于pyramid - 启动 uWSGI 服务器后如何停止它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38938440/

相关文章:

python - SQLAlchemy bool 值为 None

python - 是否(仍然)没有像样的 Pyramid OAuth2 Provider 库?

python - 为什么我在尝试运行 Pyramid 时会收到 ImportError?

uwsgi - 是否有 uwsgi 的神话魔法变量的完整列表?

python - Flask + uwsgi + 线程

authentication - Pyramid - 如何依赖资源工厂配置多个禁止 View ?

performance - Nginx + uWSGI + Flask 应用程序性能测试与 ab

sockets - wsgi nginx 错误 : permission denied while connecting to upstream

django - uwsgi + nginx + Django : ImportError: No module named django. core.wsgi

python - 使用 pyramid_tm 时,SQLAlchemy session.begin_nested() 应该与 transaction.commit() 一起提交吗?