Django基础教程(146)Django使用supervisor管理进程之supervisor使用简介:别让Django进程在后台‘裸奔’了!Supervisor:你的24小时待命项目监工,附保姆级

Django项目用Supervisor管理进程

嘿,各位Django开发者,有没有经历过这样的“惊魂一刻”?

你呕心沥血写完了一个Django项目,用python manage.py runserver在本地跑得风生水起。然后你自信满满地部署到服务器,关掉终端,美滋滋地睡去。结果第二天,用户投诉蜂拥而至:“老板,网站打不开了!”

你赶紧SSH连上服务器一看,哦豁,进程早就悄无声息地嗝屁了。

这时候你可能会想到用 nohup python manage.py runserver & 把它丢到后台。但这充其量是让进程从“裸奔”升级到“穿条裤衩在野外生存”,依然脆弱不堪:崩溃了不会自己爬起来,服务器重启了得手动拉,想看个日志输出还得满世界找nohup.out文件。

是时候给你的Django项目请一位24小时待命、任劳任怨、眼观六路耳听八方的‘超级监工’了——它就是 Supervisor

一、Supervisor是何方神圣?为啥Django需要它?

你可以把Supervisor想象成一个项目的“车间主任”。你手下的工人(也就是你的Django应用、Celery worker、异步任务等)都在这个车间里干活。没有主任的时候,工人偷懒(进程僵死)、突然猝倒(进程崩溃)、甚至擅离岗位(意外退出),你都浑然不知。

而Supervisor这位主任,它的工作核心就三条:

  1. 看守:我盯着的进程,一个都别想跑!死了?立马给我重启!
  2. 管理:我说开始就开始,我说停下就停下,我说重启就重启。一切尽在掌握。
  3. 汇报:进程干了啥(标准输出/错误日志),都得给我记下来,随时向我汇报。

对于Django项目来说,在生产环境下,我们绝不会再用单线程的runserver。通常会使用像 GunicornuWSGI 这样的WSGI服务器来承载应用。这些进程,以及经常配合使用的 Celery (处理异步任务)和 Celery Beat (定时任务)的进程,都是需要长期稳定运行的后台服务。把它们交给Supervisor管理,简直是天作之合!

二、Supervisor‘入职’全流程:安装与配置

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

值引力

持续创作,多谢支持!

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

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

打赏作者

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

抵扣说明:

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

余额充值