在前一篇文章中我们使用了Django了自带的runserver命令启动了测试服务器,但实际生成环境中你应该需要使用支持高并发的uwsgi服务器来启动Django服务。
本篇主要介绍怎么实现单容器部署Django+uwsgi。
1.dockerfile文件中增加红框中的两行代码
2.requirements文件中增加uWSGI的依赖
当你看到最后一句[uWSGI]时,说明uwsgi配置并启动完成。
此时网站虽然上线了,但有些图片和网页样式显示不对,这是因为uwsgi是处理动态请求的服务器,静态文件请求需要交给更专业的服务器比如Nginx处理 nginx具备优秀的静态内容处理能力,然后将动态内容转发给uWSGI服务器,这样可以达到很好的客户端响应。支持的并发量更高,方便管理多进程,发挥多核的优势,提升性能。
比如:
Python需要使用nginx + uWSGI 提供静态页面访问,和高并发
php 需要使用 nginx + fastcgi 提供高并发
java 需要使用 nginx + tomcat 提供 web 服务