一、为什么你的Django进程总在深夜“偷偷崩溃”?
还记得那个月黑风高的夜晚吗?你的Django应用突然404,用户疯狂投诉,你睡眼惺忪地爬起来重启服务……这场景是不是很熟悉?
作为一个Django开发者,你一定遇到过这些“灵异事件”:
- Gunicorn或uWSGI进程莫名其妙“自杀”
- Celery worker执行到一半突然“人间蒸发”
- 日志文件膨胀到能当枕头用
- 服务器重启后要手动一个个启动服务
别问我是怎么知道的,说多了都是泪。但自从遇到了Supervisor,我的运维生活直接从地狱模式切换成了简单模式。
Supervisor到底是什么?简单说,它就是进程界的“贴身保镖”——专门负责启动、重启、监控你的各种服务进程。一旦进程意外挂掉,它会立即自动重启,比闹钟还准时。
二、Supervisor初体验:比相亲对象还靠谱的进程管家
2.1 安装篇:一行代码搞定“保镖”招募
安装Supervisor简单到令人发指。在Ubuntu/CentOS系统上,只需要:
# Ubuntu/Debian 用户
sudo apt-get update
sudo apt-get install supervisor
# CentOS/RHEL 用户
sudo yum install supervisor
# 如果用pip安装(推荐用于虚拟环境)
pip install supervisor
安装完成后,系统会自动创建相关目录。检查一下安装是否成功:
supervisord --version
如果看到版本号,恭喜你,成功招募了一位24小时待命的进程保镖!
2.2 配置篇:给你的Django应用找个“专属管家”
Supervisor的配置文件通常位于/etc/supervisor/目录。但今天我们重点说的是conf.d目录,这里可以存放每个应用的独立配置。
假设你的Django项目结构如下:
/home/ubuntu/myproject/
├── manage.py
├── myapp/
└── requirements.txt
我们要用Gunicorn运行Django,先创建一个Supervisor配置文件:
sudo nano /etc/supervisor/conf.d/myproject.conf
填入以下内容(注意根据你的实际路径修改):
[program:myproject_gunicorn]
; 设置进程名称,在superviso

最低0.47元/天 解锁文章
357

被折叠的 条评论
为什么被折叠?



