Python 项目部署, uwsgi 还是 gunicorn ? 或者其他选择

2020-10-17 11:38:21 +08:00
 xchaoinfo

想问下目前这两种方案有哪些坑儿? 目前遇到 uwsgi 需要依赖一些 c lib, gunicorn 性能和功能不如 gunicorn

8053 次点击
所在节点    Python
38 条回复
est
2020-10-17 12:01:22 +08:00
啊。。。gunicorn 不依赖 libev 了?


个人觉得 uWSGI >>>>> gunicorn 。

如果你嫌弃 uWSGI 安装麻烦请直接上二进制包 pip install pyuwsgi 。
yonng
2020-10-17 12:10:33 +08:00
Nginx unit
fub2020
2020-10-17 12:32:22 +08:00
最大的坑就是,只有 windows 生产环境的时候 uwsgi 就没法部署了
wuwukai007
2020-10-17 12:34:31 +08:00
gunicorn 性能差一点,但是可以用 py 文件写配置
geebos
2020-10-17 13:05:38 +08:00
@fub2020 用 apache 还是可以部署的,只是比较麻烦
noqwerty
2020-10-17 13:39:07 +08:00
可以参考一下 https://github.com/tiangolo 的 dockerfiles
cz5424
2020-10-17 14:02:50 +08:00
日常 gunicorn,性能还行,win 的时候 gunicorn 也不行
Te11UA
2020-10-17 14:22:11 +08:00
感觉都差不多,静等大佬解释有啥区别
ytmsdy
2020-10-17 14:27:16 +08:00
uWsgi 吧,装个依赖而已。。。
访问量没有到一定数量级的时候,性能问题忽略不计。
自己熟悉那个装那个吧。
triangle111
2020-10-17 15:36:02 +08:00
新公司直接部署到容器上,然后用的 python main.py
不忍直视
wuwukai007
2020-10-17 15:39:32 +08:00
@triangle111 flask 吧,遇到过好几个项目了,直接 python main.py
dcalsky
2020-10-17 15:53:36 +08:00
uwsgi 性能比 gunicorn 高不了多少,问题多了不少。比如配置,worker 之类的问题遇到了不少。
dcoder
2020-10-17 15:57:33 +08:00
@xchaoinfo
为了简单可靠,还是 gunicorn 吧, 出活快, 容易维护.
为了性能... 就不要折腾 Python, 换 Go 吧.
inframe
2020-10-17 16:30:29 +08:00
tornado 套一下也行,变成纯 python 的

http_server = HTTPServer(WSGIContainer(app))
iConnect
2020-10-17 17:32:42 +08:00
等 nginx + gunicorn 多 worker 都能成为瓶颈,你的项目起码市值破亿。
neoblackcap
2020-10-17 19:57:02 +08:00
纯 WSGI server,uwsgi 比 gunicorn 高不了多少,gunicorn 还能换 worker 提升执行效率。uwsgi 关键在于它与 web server 的结合比较好,同时干了很多其他的事情,比如进程管理啥的。明白自己的需求再选择
xchaoinfo
2020-10-17 21:40:08 +08:00
@est uwsgi 在比较老的机器上遇到 c lib 依赖的坑, gunicorn 目前没有发现类似的问题.
abersheeran
2020-10-17 21:45:07 +08:00
Django 用以跑分的配置是 gunicorn+meinheld 。你应该就懂该用哪个了。
xchaoinfo
2020-10-17 21:52:53 +08:00
@abersheeran 感谢, 这个方案我也尝试下, 不知道兼容性如何
sunhk25
2020-10-17 21:58:12 +08:00
@fub2020 问一下 Windows 下生产环境部署有什么建议吗

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

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

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

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

© 2021 V2EX