关于django的部署相关的例子比较多,我部署的方式是nginx + gunicorn + django,这里gunicorn通过访问wsgi来和app通信。那么问题来了,当我通过docker部署的时候,我根本没用到gunicorn,那么王爷一样可以访问?为什么?
docker run -it -p 80:80 xxxx(tagname)
然后我进到web目录下
python3 manage.py runserver 0.0.0.0:80
就这一句话,我便可以在网站访问自己的界面,那么gunicorn为啥没用到也可以访问呢??
因为你的这条命令
相当于本地运行了一个临时的服务器,只能在局域网内提供服务,而且不稳定。一般我们在开发模式下,使用这种方式,快捷的查看我们代码调试的结果
实际的生产环境上,需要处理更复杂的问题,比如静态文件处理,安全,效率等等,大多数采用uwsgi+Nginx的模式进行生产部署。