DJango在开发完成后,需要部署到服务器上,不可能使用内置的测试服务器的,这里记录以下流程:
1. DJango版本:
UWSgi版本:
Nginx版本:
2. 使用Django新建一个工程并进入到工程目录下:
3. 新建一个APP, 在django中,每个网站都是一个APP文件夹来区分,新建后整个目录结构如下:
monitor文件夹是关于整个工程的配置,Test是一个名为monitor的网站。
4. 在Test文件夹下新建模板文件夹,编写html页面:
文件内容分别如下:
5. 编辑monitor下的views.py:
6. 编辑工程的urls.py文件,定义url路由,重点是17行和20行:
7. 编辑工程的settings.py文件,增加monitor网站,重点在41行:
8. 使用测试服务器测试访问:
python manage.py migrate
python manage.py runserver 5555
访问结果如下:
9. 使用测试服务器可以访问了,现在使用uwsgi+nginx部署,nginx主要是处理静态资源,对于动态的资源,就通过uwsgi这个桥梁把请求转到django去处理,uwsgi会开启一个监听端口来进行转发请求,与nging+php的部署类似。
现在,在工程根目录新建一个wsgi生成文件test_wsgi.py:
新建一个xml文件,配置uwsgi的命令参数(后缀写错,是.xml,懒得重新截图了,自己改就好):
编辑nginx的配置文件,新增一个虚拟主机,增加对sgi的支持,注意sgi的监听端口也是上面的配置文件的8888:
测试配置文件没有问题之后,重启nginx:
启动uswgi:
uwsgi -x test_socket.xml
访问网站:
ok, 部署可以使用了。