Ubuntu11.04安装Django环境(nginx+uwsgi)
1、安装Nginx服务器(此方法来自Nginx官网):
- sudo add-apt-repository ppa:nginx/stable
- sudo apt-get update
- sudo apt-get install nginx
2、安装Django框架(Django采用版本为1.4版本):
- wget http://www.djangoproject.com/m/releases/1.4/Django-1.4.tar.gz
- tar xzvf Django-1.4.tar.gz
- cd Django-1.4
- python setup.py install
3、安装mysql-server、python-MySQLdb和uwsgi需要用到的组件:
- sudo apt-get install mysql-server libxml2 libxml2-dev python-dev libpcre3 libpcre3-dev python-MySQLdb
4、安装uwsgi模块(确保版本为1.2,本人使用1.2.3尝试过参数-x无法使用:(
- wget http://projects.unbit.it/downloads/uwsgi-1.2.tar.gz
- tar zxvf uwsgi-1.2.tar.gz
- cd uwsgi-1.2
- make
- sudo cp uwsgi /usr/bin
5、配置nginx和uwsgi
现在万事俱备只欠东风,本人采用一个示例介绍下:
(1)首先用Django建立一个项目,本人放在/home目录下:
- cd /home
- /usr/local/lib/python2.7/dist-packages/django/bin/django-admin.py startproject MySite
(2)配置nginx:
修改目录/etc/nginx/sites-available下的default配置文件(可以在命令行里输入:sudo gedit /etc/nginx/sites-available/default进行编辑或使用vim),修改后内容如下:
- server {
- listen 8080; ## listen for ipv4; this line is default and implied
- listen [::]:8080 default ipv6only=on; ## listen for ipv6
- server_name localhost;
- access_log /var/log/nginx/localhost.access.log;
- location /{
- root /home/MySite/MySite/;
- uwsgi_pass 127.0.0.1:9000;
- include uwsgi_params;
- access_log off;
- }
- location ^~/static/{
- alias /home/MySite/templates/static/;
- access_log off;
- }
- location ~.*\.(gif|jpg|png|ico|jpeg|bmp|swf)$ {
- expires 3d;
- }
- location ~.*\.(css|js)$ {
- expires 12h;
- }
- }
(注:root参数为settings.py所在目录,templates/static目录是本人所建,用于存放项目中资源文件,如image、js、css等)
(3)配置uwsgi:
在/home/MySite目录下新建log目录,在log目录下新建日志文件django.log,用于存放uwsgi的日志记录。回到/home/MySite目录下,新建文件wsgi.xml(文件名随便取),内容如下:
- <uwsgi>
- <socket>127.0.0.1:9000</socket>
- <listen>200</listen>
- <master>true</master>
- <pidfile>/var/run/nginx.pid</pidfile>
- <processes>8</processes>
- <pythonpath>/home/MySite/</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>/home/MySite/log/django.log</daemonize>
- </uwsgi>
6、运行服务器:
首先运行uwsgi,命令如下:
- uwsgi -x /home/MySite/wsgi.xml
然后运行nginx服务器,命令如下:
- /etc/init.d/nginx start
最后测试下,打开浏览器输入:http://localhost:8080,出现如下界面:
注:下面命令也许你会用的到:
- #重新加载nginx配置
- /etc/init.d/nginx reload
- #停止nginx服务器
- /etc/init.d/nginx stop
- #停止uwsgi模块
- killall -9 uwsgi
- #查看所有进程
- ps -A

浙公网安备 33010602011771号