Latest web development tutorials

Django Nginx + uwsgi de instalación y configuración

En la sección anterior usamos python manage.py runserver para ejecutar el servidor. Esto sólo se aplica al entorno de prueba.

servicio de lanzamiento oficial, necesitamos un servidor estable y continua, como Apache, Nginx, lighttpd, etc. Esto será ejemplo Nginx.


Kit de desarrollo de la base instalada

Centos instalado como sigue:

yum groupinstall "Development tools"
yum install zlib-devel bzip2-devel pcre-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel

CentOS viene con Python 2.4.3, pero podemos instalar Python2.7.5:

cd ~
wget http://python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2
tar xvf Python-2.7.5.tar.bz2
cd Python-2.7.5
./configure --prefix=/usr/local
make && make altinstall

Instalar Python Package Manager

paquete easy_install https://pypi.python.org/pypi/distribute

Pasos para la instalación:

cd ~
wget https://pypi.python.org/packages/source/d/distribute/distribute-0.6.49.tar.gz
tar xf distribute-0.6.49.tar.gz
cd distribute-0.6.49
python2.7 setup.py install
easy_install --version

paquete de pepita: https://pypi.python.org/pypi/pip

El beneficio es que se puede instalar lista pipa de la pipa, desinstalación de gestión de paquetes Python pip, easy_install no tiene esta característica, única desinstalación


uwsgi instalación

uwsgi: https://pypi.python.org/pypi/uWSGI

argumentos uwsgi detallan: http://uwsgi-docs.readthedocs.org/en/latest/Options.html

pip install uwsgi
uwsgi --version    #查看 uwsgi 版本

Uwsgi prueba es normal:

New archivo test.py, como sigue:

def application(env, start_response):
	start_response('200 OK', [('Content-Type','text/html')])
	return "Hello World"

A continuación, se ejecuta en un terminal:

uwsgi --http :8001 --wsgi-file test.py

Introducir en el navegador: http: //127.0.0.1: 8001, para ver si hay salida "Hello World", si no hay salida, por favor revise su proceso de instalación.


instalar Django

pip install django

prueba de Django es normal, ejecute:

django-admin.py startproject demosite
cd demosite
python2.7 manage.py runserver 0.0.0.0:8002

Introduzca en el navegador: http: //127.0.0.1: 8002, verifique Django funciona correctamente.


instalar Nginx

Instalar el comando de la siguiente manera:

cd ~
wget http://nginx.org/download/nginx-1.5.6.tar.gz
tar xf nginx-1.5.6.tar.gz
cd nginx-1.5.6
./configure --prefix=/usr/local/nginx-1.5.6 \
--with-http_stub_status_module \
--with-http_gzip_static_module
make && make install

Usted puede leer la configuración de la instalación Nginx para aprender más.


Configuración uwsgi

uwsgi es compatible con una variedad de configuraciones INI, XML, etc. En este documento, ini, por ejemplo, bajo el nuevo / etc / directorio uwsgi9090.ini, añade la siguiente configuración:

[uwsgi]
socket = 127.0.0.1:9090
master = true         //主进程
vhost = true          //多站模式
no-site = true        //多站模式时不设置入口模块和文件
workers = 2           //子进程数
reload-mercy = 10     
vacuum = true         //退出、重启时清理文件
max-requests = 1000   
limit-as = 512
buffer-size = 30000
pidfile = /var/run/uwsgi9090.pid    //pid文件,用于下面的脚本启动、停止该进程
daemonize = /website/uwsgi9090.log

configuración de Nginx

directorio de instalación nginx encontrado (por ejemplo: / usr local de nginx / / /) Archivo nginx.conf, conf abierta /, modificar la configuración del servidor:

server {
        listen       80;
        server_name  localhost;
        
        location / {            
            include  uwsgi_params;
            uwsgi_pass  127.0.0.1:9090;              //必须和uwsgi中的设置一致
            uwsgi_param UWSGI_SCRIPT demosite.wsgi;  //入口文件,即wsgi.py相对于项目根目录的位置,“.”相当于一层目录
            uwsgi_param UWSGI_CHDIR /demosite;       //项目根目录
            index  index.html index.htm;
            client_max_body_size 35m;
        }
    }

Usted puede leer la configuración de la instalación Nginx para aprender más.

Después del ajuste, que se ejecuta en un terminal:

uwsgi --ini /etc/uwsgi9090.ini &
/usr/local/nginx/sbin/nginx

Introduzca en el navegador: http: //127.0.0.1, se puede ver el Django "que funcione" hacia arriba.