【发布时间】:2015-12-18 14:10:46
【问题描述】:
我有 2 个不同的项目在同一台服务器上运行。它们都是以 Gunicorn 作为 wsgi 服务器的 Django 项目。最上面的服务器是 Apache。目前有一个 Jenkins 作业可以从 repo 更新源代码并重新启动(杀死并启动)gunicorn。在服务器仅服务于 1 个站点之前,这一直很好。 我按如下方式杀死了独角兽
#!/bin/bash
ps -ef | grep gunicorn | grep -v grep | awk '{print $2}' | xargs kill -9
然后重新启动它。但是,这种方法不适用于 2 个站点,因为杀死 Gunicorn 会完全杀死所有 Gunicorn 进程。在我运行构建的任何时候,只有那个站点的 gunicorn 会重新生成。
我环顾四周,发现 Supervisor 是我应该用来防止这种情况并无缝重启 Gunicorn 的一个实用程序。
你们还有其他我应该遵循的建议或最佳实践吗?
谢谢
【问题讨论】: