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