为了账号安全,请及时绑定邮箱和手机立即绑定

pm2快速部署Django项目

标签:
前端工具
  • 以前写过一篇 部署django全攻略, 后来被人吐槽, 整个流程手动部署下来 需要花20多分钟, 如果能像python manage runserver一行命令启动就好了

  • Django项目的开发阶段, 可以使用python manage runserver启动Django内置的web服务, 但Django内置的web服务很容易挂到,所以我们需要给它加一个守护进程

解决之道:

pm2是一个进程管理工具, 它可以为你的脚本创建守护进程, pm2官网链接

推荐使用npm安装pm2(安装nodejs之后, npm就自动安装好了)

nodejs安装包下载地址


pm2的使用

pm2可以守护执行shell脚本, 我们可以把python manage runserver 0.0.0.0:9000写到 start.sh(将start.sh放到与manage.py的同级目录),然 后通过pm2 start start.sh, 让pm2执行start.sh脚本,开启Django内置的web服务, 由于pm2可以守护脚本的执行, 当Django内置的web服务挂掉的时候, 会自动重启, 通过这种方式, django的测试项目就可以在线上稳定的运行了

https://img1.sycdn.imooc.com//5d31c4a7000156cf05740248.jpg

  • 这是我刚刚用以上方法, 部署Django项目, 可以通过访问http://zhaoolee.com:9000 验证一下, 应该是正常运行的

https://img1.sycdn.imooc.com//5d31c4ab0001262105860396.jpg

  • 当然也可以直接把上面的start.sh脚本内容改成python manage runserver 0.0.0.0:80, 这样就可以通过 http://zhaoolee.com 直接访问站点了

https://img1.sycdn.imooc.com//5d31c4af0001a0fa05680401.jpg

pm2可以守护执行多种语言的脚本

https://img1.sycdn.imooc.com//5d31c4b5000110b705760522.jpg

  • pm2可以执行多种语言的脚本, pm2可以根据脚本的扩展名, 使用相应的解释器来执行脚本, 当然你也可以手动指定解释器的位置, 只需加一个--interpreter的参数即可(参考上图)

小结:

用pm2把python manage runserver进程守护起来是一种讨巧的做法, 如果你刚刚开发了一个django项目又懒得去配置uwsgi以及nginx的转发规则, 可以用pm2一键部署项目



作者:木子昭
链接:https://www.jianshu.com/p/7ad900b2b771


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消