Django自带的服务器
1.Django自带的服务器非常脆弱,只能用于debug和开发,不能用于生产环境
2.用法:在虚拟机中进入虚拟环境,然后把代码从git中pull下来,安装好requirements.txt的包后,即可通过python manage.py runserver 0.0.0.0:8000
来运行。不过没有静态文件。
用uwsgi和nginx部署
1.uwsgi是应用服务器,nginx是web服务器。
2.浏览器发送请求,如果是需要静态文件的加载,那么静态文件直接通过nginx(web服务器)处理;如果是非静态文件的网络请求,就通过套接字socket交给uwsgi(应用服务器)处理,然后再发给socket,socket再发给nginx。
3.nginx作为专业的web服务器,暴露在公网上会比uwsgi更加安全一点。
4.nginx是守护进程,uwsgi为非守护进程。所以用supervisor管理uwsgi,使得uwsgi在发生意外的情况下,自动重启。
5.如果只是用nginx和uwsgi部署网站,那么需要配置好所有文件,及 servive nginx restart
后,再次uwsgi --ini uwsgi.ini
,然后刷新网页。