Django基础教程(145)Django使用supervisor管理进程之supervisor配置:Django进程总“摆烂”?Supervisor这位“超级保姆”请收好!配置详解&实战喂饭教程

嘿,各位Django舵手们,不知道你们有没有经历过这样的绝望瞬间:

你花了老大劲儿,终于把Django项目部署上了服务器。项目里有个需要长时间运行的后台任务,比如处理异步邮件的Celery Worker,或者你自个儿用nohup启动的一个脚本。你美滋滋地启动它,一切正常,然后心满意足地关闭了终端窗口。

第二天,你兴冲冲地打开网站,发现邮件一封没发,任务队列积压成山。你一拍脑袋:“糟了!我那进程是不是又挂了?” 赶紧SSH连上去一看,果然,进程早就“嗝屁着凉”了。

这种场景,是不是像极了养了一个不省心的娃,你一不留神,他就给你整出点幺蛾子。

为什么会出现这种“惨剧”?

因为你在终端里直接运行的进程,和当前终端会话是“绑定”的。终端一关,会话结束,它发出的所有信号(包括让你进程继续运行的信号)也就跟着烟消云散了。所以,我们需要一个 “进程守护神器”—— 一个能脱离终端,在后台默默帮你管理、监控、自动重启这些进程的工具。

而今天的主角 Supervisor,就是这位神通广大的“超级保姆”。

一、Supervisor是何方神圣?为啥是Django的“官配保姆”?

你可以把Supervisor想象成一个24小时不眠不休的车间主任。它的工作就一件事:盯住你交代给它的几个“工人”(也就是进程),确保它们老老实实干活。

  • 工人偷懒(进程意外崩溃)了? 主任立马把它重新拉起来干活(自动重启)。
  • 车间重启了(服务器重启)? 主任上班第一件事就是把所有工人都叫起来(开机自启)。
  • 你想看看工人干得咋样了? 主任随时给你提供工作日志(日志记录)。
  • 你想让某个工人歇会儿或者滚蛋? 主任一个指令就能搞定(进程的启动、停止、重启)。

对于Django项目来说,尤其是当你引入了Celery(处理异步任务和定时任务的神器)之后,Supervisor几乎就成了生产环境的标配。没有它,你的Celery Worker和Beat就像是没娘的孩子,说没就没了。

二、请神上身:Supervisor的安装与“初体验”

安装简单到令人发指,一行命令搞定(这里以Ubuntu为例):

sudo apt-get up
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

值引力

持续创作,多谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值