进程管理器supervisor的使用(django实例)
这篇讲的是用Supervisor管理多个Django进程的具体实践。作者从Python生产环境中常见的进程管理需求出发,介绍了Supervisor这个由Python实现的工具。 在典型的部署场景里,通常需要用Supervisor同时启动多个Django或Tornado应用,让它们监听不同端口,再由前端的Nginx进行反向代理。文章以Ubuntu环境为例,详细演示了从创建Python虚拟环境、安装Supervisor,到编写配置文件的完整过程。 配置是关键,作者分享了几个核心点:通过`numprocs`参数指定启动的进程数,结合`process_num`变量动态分配不同端口;特别提到了配置Unix socket文件时,权限设置需使用`sockchown`而非`chown`的坑。最终的目标是让一个名为“sayhello”的Django项目成功运行在8000和8001两个端口上。 文章也坦诚地提到,对于这种架构是否算负载均衡,作者尚未深入研究,展现了实践中边做边学的真实状态。整体而言,这是一篇聚焦于具体配置和常见陷阱的实用向导。