Latest web development tutorials

Django Nginx + uwsgi Instalação e Configuração

Na seção anterior, usamos python manage.py runserver para executar o servidor. Isto aplica-se apenas ao ambiente de teste.

serviço de lançamento oficial, precisamos de um servidor estável e contínuo, como o Apache, Nginx, lighttpd, etc. Esta será exemplo Nginx.


Instalado Kit de Desenvolvimento de base

Centos instalado como se segue:

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

CentOS vem com Python 2.4.3, mas 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

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

Etapas de instalação:

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

pacote pip: https://pypi.python.org/pypi/pip

Vantagem é que você pode instalar lista semente da semente, desinstalação de gerenciamento de pacotes Python pip, easy_install não tem esse recurso, apenas a desinstalação


uwsgi instalação

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

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

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

Uwsgi teste é normal:

Novo arquivo test.py, como segue:

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

Em seguida, correndo em um terminal:

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

Digite no navegador: http: //127.0.0.1: 8001, para ver se há "Olá Mundo" de saída, se não houver saída, por favor, verifique o seu processo de instalação.


instale o Django

pip install django

teste de Django é normal, execute:

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

Digite no navegador: http: //127.0.0.1: 8002, verifique o Django está a funcionar correctamente.


instalar Nginx

comando de instalação como segue:

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

Você pode ler configuração de instalação Nginx para saber mais.


Configuração uwsgi

uwsgi suporta uma variedade de configurações ini, XML, etc. Neste papel, ini, por exemplo, no âmbito do novo uwsgi9090.ini / ect / diretório, adicione a seguinte configuração:

[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

configuração nginx

Encontrado diretório de instalação do nginx (por exemplo: / usr / local / nginx /), conf aberta / arquivo nginx.conf, modificar a configuração do 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;
        }
    }

Você pode ler configuração de instalação Nginx para saber mais.

Após a configuração, executando em um terminal:

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

Digite no navegador: http: //127.0.0.1, você pode ver o Django "É trabalhar" para cima.