Nginx+MariaDB+Django环境搭建

  运维

1、安装Nginx服务器(此方法来自Nginx官网):

  1. sudo add-apt-repository ppa:nginx/stable
  2. sudo apt-get update
  3. sudo apt-get install nginx

2、安装Django框架(Django采用版本为1.4版本):

  1. wget http://www.djangoproject.com/m/releases/1.4/Django-1.4.tar.gz
  2. tar xzvf Django-1.4.tar.gz
  3. cd Django-1.4
  4. python setup.py install

3、安装mysql-server、python-MySQLdb和uwsgi需要用到的组件

  1. sudo apt-get install mysql-server libxml2 libxml2-dev python-dev libpcre3 libpcre3-dev python-MySQLdb

4、安装uwsgi模块(确保版本为1.2,本人使用1.2.3尝试过参数-x无法使用:(

  1. wget http://projects.unbit.it/downloads/uwsgi-1.2.tar.gz
  2. tar zxvf uwsgi-1.2.tar.gz
  3. cd uwsgi-1.2
  4. make
  5. sudo cp uwsgi /usr/bin

5、配置nginx和uwsgi

(1)首先用Django建立一个项目,本人放在/home目录下:

  1. cd /home
  2. /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),修改后内容如下:

  1. server {
  2.   listen   8080; ## listen for ipv4; this line is default and implied
  3.   listen   [::]:8080 default ipv6only=on; ## listen for ipv6
  4.   server_name  localhost;
  5.   access_log  /var/log/nginx/localhost.access.log;
  6.   location /{
  7.     root /home/MySite/MySite/;
  8.     uwsgi_pass 127.0.0.1:9000;
  9.     include uwsgi_params;
  10.     access_log off;
  11.   }
  12.   location ^~/static/{
  13.     alias /home/MySite/templates/static/;
  14.     access_log off;
  15.   }
  16.   location ~.*.(gif|jpg|png|ico|jpeg|bmp|swf)$ {
  17.     expires 3d;
  18.   }
  19.   location ~.*.(css|js)$ {
  20.     expires 12h;
  21.   }
  22. }

(注:root参数为settings.py所在目录,templates/static目录是本人所建,用于存放项目中资源文件,如image、js、css等)

(3)配置uwsgi:

在/home/MySite目录下新建log目录,在log目录下新建日志文件django.log,用于存放uwsgi的日志记录。回到/home/MySite目录下,新建文件wsgi.xml(文件名随便取),内容如下:

  1. <uwsgi>
  2.  <socket>127.0.0.1:9000</socket>
  3.  <listen>200</listen>
  4.  <master>true</master>
  5.  <pidfile>/var/run/nginx.pid</pidfile>
  6.  <processes>8</processes>
  7.  <pythonpath>/home/MySite/</pythonpath>
  8.  <module>wsgi</module>
  9.  <profiler>true</profiler>
  10.  <memory-report>true</memory-report>
  11.  <enable-threads>true</enable-threads>
  12.  <logdate>true</logdate>
  13.  <limit-as>6048</limit-as>
  14.  <daemonize>/home/MySite/log/django.log</daemonize>
  15. </uwsgi>

6、运行服务器:

首先运行uwsgi,命令如下:

  1. uwsgi -x /home/MySite/wsgi.xml

然后运行nginx服务器,命令如下:

  1. /etc/init.d/nginx start

最后测试下,打开浏览器输入:http://localhost:8080,出现如下界面:

nginx

注:下面命令也许你会用的到:

  1. #重新加载nginx配置
  2. /etc/init.d/nginx reload
  3. #停止nginx服务器
  4. /etc/init.d/nginx stop
  5. #停止uwsgi模块
  6. killall -9 uwsgi
  7. #查看所有进程
  8. ps -A

One Reply to “Nginx+MariaDB+Django环境搭建”

LEAVE A COMMENT

Captcha Code