目录

linux-宝塔面板-部署-django网站-启动方式uwsgi-和gunicorn如何选择-

目录

linux + 宝塔面板 部署 django网站 启动方式:uwsgi 和gunicorn如何选择 ?

启动方式:uwsgi 和gunicorn如何选择 ?

项目uWSGIGunicorn
协议uWSGI 协议(可用 HTTP/socket)HTTP 协议
启动方式命令或 .ini 配置文件命令参数或 systemd 配置
兼容框架支持 WSGI、uWSGI、FastCGI 等仅支持 WSGI
性能高性能、极可调高性能、默认参数也够用
配置复杂度❌ 比较复杂✅ 配置简单
社区活跃⭐ 停滞不前,主作者不活跃⭐⭐ 活跃,现代化持续维护
热部署支持✅ 支持 reload,graceful reload✅ 支持 reload,supervisor/daemon 都支持
Nginx 代理推荐方式uwsgi_passproxy_pass

Django 官方文档明确推荐 Gunicorn,因为更简单

推荐选择依据:

使用场景推荐服务器
✅ 你用的是 Docker / 容器化部署Gunicorn
✅ 希望部署简单,配置快速,现代工具支持Gunicorn
✅ 你用 Supervisor、systemd 管理进程Gunicorn
✅ 用 Python async/await、FastAPI 等协程框架Gunicorn(配 uvicorn workers
❗需要极限性能调优、复杂进程模型、XML 配置需求uWSGI
❌ 不想折腾配置文件 .ini / .xmlGunicorn

 中文互联网上的django部署教程大多数都是教用uWSGI而不是Gunicorn。主要是很多早期教程、博客、书籍(包括《Python 编程:从入门到实践》)都采用了 uWSGI 为部署示例。导致后续内容沿用这套“模板式部署”。

结论解释
中文教程偏向 uWSGI因为历史原因、教程复制、宝塔支持等传统习惯
Gunicorn 更现代、适合现在的开发部署模式但中文教程尚未形成认知切换
如果你重视部署效率、容器兼容性、WebSocket/SSE 支持✅ 强烈建议用 Gunicorn + UvicornWorker

 ——————–

宝塔面板默认自带uWSGI,但Gunicorn需要手动安装。


pip install gunicorn

宝塔界面中创建python项目后,项目的根目录会自动创建 gunicorn_conf.py 并配置好