Latest web development tutorials

Django Nginx + uwsgi di installazione e configurazione

Nella sezione precedente che usiamo pitone manage.py runserver per eseguire il server. Questo vale solo per l'ambiente di test.

servizio di rilascio ufficiale, abbiamo bisogno di un server stabile e continuo, come Apache, Nginx, lighttpd, ecc Questo sarà esempio Nginx.


Installato Development Kit di base

CentOS installato come segue:

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

CentOS viene fornito con Python 2.4.3, ma siamo in grado di installare 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

Installare Python Package Manager

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

Procedura di installazione:

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

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

Vantaggio è che è possibile installare lista pip pip, pip disinstallare la gestione dei pacchetti Python, easy_install non ha questa funzione, solo disinstallazione


uwsgi installazione

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

argomenti uwsgi dettagliate: http://uwsgi-docs.readthedocs.org/en/latest/Options.html

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

Test Uwsgi è normale:

New file test.py, come segue:

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

Poi, in esecuzione in un terminale:

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

Inserire nel browser: http: //127.0.0.1: 8001, per vedere se vi è l'uscita "Ciao Mondo", se non vi è uscita, si prega di controllare il processo di installazione.


installare Django

pip install django

test di Django è normale, eseguire:

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

Inserire nel browser: http: //127.0.0.1: 8002, controllare django funziona correttamente.


installare Nginx

Installare il comando come 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

Si può leggere la configurazione di installazione Nginx per saperne di più.


Configurazione uwsgi

uwsgi supporta una varietà di configurazioni ini, XML, ecc In questo lavoro, ini, per esempio, sotto il / / directory nuova uwsgi9090.ini ect, aggiungere la seguente configurazione:

[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

configurazione nginx

directory di installazione di nginx Trovato (ad esempio: / usr / local / nginx /), conf aprire file / nginx.conf, modificare la configurazione del server:

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;
        }
    }

Si può leggere la configurazione di installazione Nginx per saperne di più.

Dopo l'impostazione, in esecuzione in un terminale:

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

Immette nel browser: http: //127.0.0.1, si può vedere il Django "funzionare" in su.