Latest web development tutorials

Django Nginx + uwsgi Instalasi dan Konfigurasi

Pada bagian sebelumnya kita menggunakan python manage.py runserver untuk menjalankan server. Ini hanya berlaku untuk lingkungan pengujian.

layanan rilis resmi, kita perlu server stabil dan terus menerus, seperti apache, Nginx, lighttpd, dll Ini akan menjadi contoh Nginx.


Dipasang Pembangunan basis Kit

CentOS diinstal sebagai berikut:

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

CentOS datang dengan Python 2.4.3, tapi kita bisa menginstal 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

Menginstal Python Package Manager

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

langkah-langkah instalasi:

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

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

Manfaat adalah bahwa Anda dapat menginstal daftar pip pip, pip uninstall manajemen paket Python, easy_install tidak memiliki fitur ini, hanya uninstall


instalasi uwsgi

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

argumen uwsgi rinci: http://uwsgi-docs.readthedocs.org/en/latest/Options.html

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

Tes Uwsgi normal:

File test.py baru, sebagai berikut:

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

Kemudian berjalan di terminal:

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

Masukkan dalam browser: http: //127.0.0.1: 8001, untuk melihat apakah ada "Hello World" output, jika tidak ada output, silakan cek proses instalasi Anda.


install Django

pip install django

tes Django adalah normal, jalankan:

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

Masukkan dalam browser: http: //127.0.0.1: 8002, periksa Django beroperasi dengan benar.


Instal Nginx

Menginstal perintah sebagai berikut:

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

Anda dapat membaca konfigurasi instalasi Nginx untuk mempelajari lebih lanjut.


uwsgi Konfigurasi

uwsgi mendukung berbagai konfigurasi Penyanyi, xml, dll Dalam makalah ini, Penyanyi, misalnya, di bawah baru uwsgi9090.ini / ect / direktori, tambahkan konfigurasi berikut:

[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

konfigurasi nginx

Ditemukan direktori instalasi nginx (misalnya: / usr / local / nginx /), terbuka conf / berkas nginx.conf, memodifikasi konfigurasi 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;
        }
    }

Anda dapat membaca konfigurasi instalasi Nginx untuk mempelajari lebih lanjut.

Setelah pengaturan, berjalan di terminal:

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

Masukkan dalam browser: http: //127.0.0.1, Anda dapat melihat Django "Ini bekerja" up.