您的位置:首页 > 数据库 > SQL

安装Django环境(nginx+uwsgi + mysql)

2014-06-27 17:35 513 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  django