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.