我在同一台服务器上运行了2个不同的项目。它们都是使用Gunicorn作为wsgi服务器的Django项目。顶部的服务器是Apache。目前有一个Jenkins任务,可以从仓库更新源代码并重新启动(杀死和启动)gunicorn。这在服务器只服务1个站点时运行良好。 我按以下方式杀死了gunicorn
#!/bin/bash
ps -ef | grep gunicorn | grep -v grep | awk '{print $2}' | xargs kill -9
我重新启动了它。然而,这种方法对于两个站点来说是行不通的,因为完全杀死Gunicorn会导致所有Gunicorn进程都被杀死。每次运行构建时,只有该站点的Gunicorn会重新生成。
我四处寻找并发现Supervisor是一个应该使用的实用程序,可以防止这种情况,并无缝地重启Gunicorn。
你们有其他建议或最佳实践应该遵循吗?
谢谢