Python web 部署,systemd OR supervisor?

2018-08-08 22:41:28 +08:00
 qq976739120
最近要部署一个 flask 项目,打算采用 gevent+ gunicorn +systemd 的方式,但是网上的资料大都为 supervisor,我尝试了下比较繁琐,各位有什么建议吗
5543 次点击
所在节点    Python
41 条回复
chenqh
2018-08-09 09:02:34 +08:00
supervisor 还好吧,简单,更何况 systemd 那么多 service,你不会担心找不到自己的进程 service 吗
hotea
2018-08-09 09:24:33 +08:00
systemd 配置写起来太复杂
ray1888
2018-08-09 10:18:20 +08:00
docker 吧,不然每次每台机器都需要部署底层环境太麻烦了
julyclyde
2018-08-09 10:20:22 +08:00
@qq976739120 百度 systemd 资料少,你就不用了?那百度哪天如果坏了,你是不是还不干活了?
julyclyde
2018-08-09 10:20:50 +08:00
@yanaraika 选 docker,如果除了“有条件”之外没有别的理由,那基本上都意味着是错误选择
julyclyde
2018-08-09 10:22:56 +08:00
@ray1888 说的底层环境是选用 docker 的一个理由。不过其实只是把以前用 rpm/deb 表达的依赖关系,改由 docker 表达了而已,而且还不是描述式而是执行式的表达。dockerfile 里有些东西并不能保证每次都执行成功,尤其是和网络等外部环境相关的,所以其实并不是一个表达依赖关系和构建基础的好的方式
ray1888
2018-08-09 10:48:24 +08:00
@julyclyde 所以才要一套的 CI/CD 来做,Dockerfile 当然是要本地测试过没问题才能放进 CI 的步骤里面,如果有其他的错误,由 CI 解决网络等 docker build 出现的问题( retry ),而且打包成镜像的好处是,可以同时存在多个版本,可以来做蓝绿发布,出问题了只需要把 docker 删掉就好了
warcraft1236
2018-08-09 10:49:48 +08:00
不用 uwsgi 吗?
qq976739120
2018-08-09 10:56:36 +08:00
@julyclyde 也不是这个意思..我是搜了两个关键字,supervisor 显示的信息更多点,我觉得会不会是业界主流的部署方案..
qq976739120
2018-08-09 10:56:56 +08:00
@warcraft1236 这个没用...
julyclyde
2018-08-09 11:10:19 +08:00
@qq976739120 资料多,是否主流,这个想法倒是挺自然的。
业界一直不太流行把“自研软件”放在“系统管辖( systemd、sysvinit 等)”之下
lfzyx
2018-08-09 12:00:16 +08:00
当然是 systemd,系统级支持
pathbox
2018-08-09 12:49:39 +08:00
systemd 用的很爽
FullBridgeRect
2018-08-09 12:56:58 +08:00
来一打 systemd 全家桶
Tyanboot
2018-08-09 15:55:45 +08:00
@virusdefender docker 里面没有什么理由用 systemd 吧。本身 docker 设计来就是跑单个进程的。
virusdefender
2018-08-09 15:56:55 +08:00
@Tyanboot #35 理论上是这样的,但是实际上也经常会用多个进程,比如 Nginx + web server + 队列之类的
Tyanboot
2018-08-09 16:10:00 +08:00
@virusdefender 这种情况请使用 docker-compose 编排多个容器,设置 restart: always。这样可以把比如队列挂了需要重启这种情况交给 docker daemon 去处理。
virusdefender
2018-08-09 16:13:00 +08:00
@Tyanboot #37 道理我都懂,可实际我用 supervisor + 多个进程在一个容器中用的更爽
blackboom
2018-08-10 12:04:37 +08:00
想都不用想 直接使用 docker
zqguo
2018-08-13 00:21:59 +08:00
用 docker 就好了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/478085

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX