首页 > Python > django > django+nginx+uwsgi部署
2015
04-07

django+nginx+uwsgi部署

写了那么长时间的django,一直没跟nginx结合一下,访问的时候老是得加端口号,觉得不爽。故想到部署到nginx上面。

环境:python:2.7.6

nginx:1.0.5 (yum直接安装的,版本好低的说,需要高版本的可以自行编译安装这都不是重点)

uWSGI: 2.0.10 (pip install uwsgi直接安装的,安装完成会提示你安装到哪了,我的是/usr/local/python27/bin/uwsgi,将uwsgi复制到/usr/bin/下面,方便直接运行)

django : 1,7,1

环境介绍完毕,开搞。

首先要有一个django项目,至于怎么创建就不赘述了,既然能找这篇文章看,对django肯定是了得的差不多了。

一。编辑nginx的配置文件

由于我是yum安装的,我的配置文件在/etc/nginx/目录下,自行编译的根据自己实际情况查找。为了方便管理我就放在了/etc/nginx/conf.d/,没错就是放vhosts配置文件的目录里面。

稍微话唠一下:由于yum安装的nginx 会在/etc/nginx/conf.d/

目录下生成default.conf配置文件,防止冲突就把它重命名好了.

编辑django.conf(任意起名)

二。配置uWSGI。

在nginx目录创建一个uwsgi配置文件(当然了这个配置文件放在哪都行,只要你能找到的就行,那小弟先放/etc/nginx/下了哈)

 

uwsgi.xml里其他一些配置暂且保持一致就行了,可根据自己要求修改。

三。创建django应用模块。

1.情况一:如果你的django项目是使用IDE创建的,那么在你的项目下应该会有wsgi.py这个文件,我的是在/djangoproject/cmdb04/cmdb04/(就是两个cmdb04,cmdb04是我的项目名),

直接复制到项目的根目录下,并重命名为django_wsgi.py。为什么是这个文件名呢,因为你在nginx配置文件和uwsgi配置文件的module都是写的这个文件名。如果没找到wsgi.py这个文件,那么别费劲了,直接看情况二吧。

2.情况二:就是没找到那个wsgi.py,那就手动创建吧。在django项目根目录下创建django_wsgi.py文件。

四。写一个uwsgi的启动脚本,方便start,stop,restart

五.万事大吉了,可以启动测试了

server nginx start

server uwsgi start

注意查看端口中是否存在uwsgi的9000端口

linuxcmd:   netstat -antpl | grep uwsgi

linuxout:   tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      6780/uwsgi

六。如果没成功,请从头排查一遍。

 

 

最后编辑:
作者:hanxin
从前有个人关注了我,结果那一年开始ta走向了人生的巅峰!

留下一个回复

你的email不会被公开。