首先要装一些东西
之前先搞一下ppa 个人是用的Ubuntu 12.04.4
有些软件还ppa之后再装比较好,具体ppa是个啥东西 不知道的问谷歌
add-apt-repository ppa:nginx/stable
apt-get update
安装一些依赖的包
apt-get install mysql-server libxml2 libxml2-dev python-dev libpcre3 libpcre3-dev python-MySQLdb
直接pip装uwsgi 我装的是lts版本的
pip install http://projects.unbit.it/downloads/uwsgi-lts.tar.gz
apt-get也是可以的(不然ppa就没意义了)
然后安装nginx
apt-get install nginx
安装django
我这是1.5.4版本的django
然后就是配置了
先搞一搞django的项目,我的项目地址是在/var/www/下
django-admin.py startproject blog
然后1.5.4会生成一个blog的app,下面有一个uwsgi.py的文件,不要动就行了
然后在这个下面新建一个xml文件,什么名字都可以,我这是uwsg.xml(ini也可以,而且貌似比较方便)
xml文件里面的配置如下:
<uwsgi>
>---<socket>127.0.0.1:9090</socket>
>---<master>true</master>
>---<listen>80</listen>
>---<pidfile>/var/run/nginx.pid</pidfile>
>---<processes>8</processes>
>---<pythonpath>/var/www/blog/</pythonpath>
>---<module>wsgi</module>
>---<profiler>true</profiler>
>---<memory-report>true</memory-report>
>---<enable-threads>true</enable-threads>
>---<logdate>true</logdate>
>---<limit-as>6048</limit-as>
>---<daemonize>/var/www/cc.log</daemonize>
</uwsgi>
这个意思是uwsgi会在在9090端口上和nginx通讯
ngxin的配置:
cd /etc/nginx/sites-enabled (最好不要动nginx.conf这个文件,直接在sites-enabled下配置就行,前者类似于全局配置)
配置下主要的东西
1 server {
2 >---listen 80;
3 >---server_name localhost;
4 >---access_log /var/log/nginx/localhost.access.log;
5 >---location /{
6 >--->---root /var/www/blog/;
7 >--->---uwsgi_pass 127.0.0.1:9090;
8 >--->---include uwsgi_params;
9 >---}
10 }
记得目录和端口号一定要搞好,nginx和uwsgi的主要通讯配置就是logcation那个
然后 uwsgi --xml /var/www/blog/blog/wsgi.xml (有的uwsgi版本-x就可以)
之后如果不可以的话记得 uwsgi -s reload一下,相当于重启uwsgi
然后就是重启uwsgi和nginx
源码编译的就/etc/init.d/xxx restart
我这边是apt或者pip装的服务 直接service nginx/uwsgi restart就可以了 比较方便 : )
其实整个流程就是 浏览器访问nginx的80端口 然后nginx会在配置中下发任务(描述可能不当),之后找到9090端口的uwsgi
就是两个配置文件中统一的端口号,之后uwsgi就会启动django 之后就巴拉巴拉巴拉 就可以了- -