Django Nginx + uwsgi Installation et configuration
Dans la section précédente , nous utilisons python manage.py runserver pour exécuter le serveur. Ceci ne concerne que l'environnement de test.
Service officiel de libération, nous avons besoin d'un serveur stable et continue, comme apache, Nginx, lighttpd, etc. Ce sera par exemple Nginx.
Kit de développement de la base installée
Centos installé comme suit:
yum groupinstall "Development tools" yum install zlib-devel bzip2-devel pcre-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
CentOS est livré avec Python 2.4.3, mais nous pouvons installer 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
Installez Python Package Manager
package easy_install https://pypi.python.org/pypi/distribute
Les étapes d'installation:
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
package pip: https://pypi.python.org/pypi/pip
Avantage est que vous pouvez installer la liste de pip pip, gestion des paquets Python de désinstallation pip, easy_install n'a pas cette fonction, ne désinstallez
uwsgi d'installation
uwsgi: https://pypi.python.org/pypi/uWSGI
arguments de uwsgi détaillés: http://uwsgi-docs.readthedocs.org/en/latest/Options.html
pip install uwsgi uwsgi --version #查看 uwsgi 版本
Test uwsgi est normal:
fichier test.py Nouveau, comme suit:
def application(env, start_response): start_response('200 OK', [('Content-Type','text/html')]) return "Hello World"
Ensuite, en cours d'exécution dans un terminal:
uwsgi --http :8001 --wsgi-file test.py
Entrez dans le navigateur: http: //127.0.0.1: 8001, pour voir s'il est "Bonjour tout le monde" sortie, s'il n'y a pas de sortie, s'il vous plaît vérifier votre processus d'installation.
Installer Django
pip install django
test de Django est normal, exécutez:
django-admin.py startproject demosite cd demosite python2.7 manage.py runserver 0.0.0.0:8002
Entrez dans le navigateur: http: //127.0.0.1: 8002, vérifiez django fonctionne correctement.
Installez Nginx
commande Installer comme suit:
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
Vous pouvez lire la configuration d'installation Nginx pour en savoir plus.
Configuration uwsgi
uwsgi prend en charge une variété de configurations ini, xml, etc. Dans ce papier, ini, par exemple, dans le cadre du nouveau uwsgi9090.ini / ect / répertoire, ajoutez la configuration suivante:
[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
configuration Nginx
répertoire d'installation nginx Trouvé (par exemple: / usr / local / nginx /), conf open / fichier nginx.conf, modifier la configuration du serveur:
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; } }
Vous pouvez lire la configuration d'installation Nginx pour en savoir plus.
Après le réglage, en cours d'exécution dans un terminal:
uwsgi --ini /etc/uwsgi9090.ini & /usr/local/nginx/sbin/nginx
Entrez dans le navigateur: http: //127.0.0.1, vous pouvez voir le django "Il fonctionne" up.