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.