Configuration de l'installation de Django Nginx+uwsgi
Dans les chapitres précédents, nous avons utilisé python manage.py runserver pour exécuter le serveur. Ceci ne convient que pour une utilisation dans un environnement de test.
Pour les services officiellement publiés, nous avons besoin d'un serveur stable et durable, comme Apache, Nginx, lighttpd, etc. Cet article utilisera Nginx comme exemple.
Installer le package de développement de base
Les étapes d'installation sous Centos sont les suivantes :
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
Installer la gestion des packages Python
package easy_install https://pypi.python.org/pypi/distribute
É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
L'avantage de l'installation de pip est que vous pouvez gérer les packages Python via pip list et pip uninstall n'a pas cette fonction, seulement la désinstallation.
Installer uwsgi
uwsgi : https://pypi.python.org/pypi/uWSGI
Explication détaillée des paramètres uwsgi : http://uwsgi- docs.readthedocs.org/en/latest/Options .html
pip install uwsgi uwsgi --version #查看 uwsgi 版本
Testez si uwsgi est normal :
Créez un nouveau fichier test.py avec le contenu suivant :
def application(env, start_response): start_response('200 OK', [('Content-Type','text/html')]) return "Hello World"
Ensuite, exécutez-le dans le terminal :
uwsgi --http :8001 --wsgi-file test.py
Parcourir Entrez : http://127.0.0.1:8001 dans le serveur et vérifiez s'il y a une sortie "Hello World". S'il n'y a pas de sortie, veuillez vérifier votre. processus d'installation.
Installez Django
pip install django
Testez si 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 S'il fonctionne normalement.
Installer Nginx
La commande d'installation est la suivante :
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 de Nginx pour en savoir plus.
Configuration uwsgi
uwsgi prend en charge ini, xml et d'autres méthodes de configuration Cet article prend ini comme exemple. Créez un nouveau uwsgi9090.ini dans le répertoire /ect/ et 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
Trouvez le répertoire d'installation de nginx (tel que : /usr/local/ nginx/), Ouvrez le fichier conf/nginx.conf et modifiez 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 de Nginx pour en savoir plus.
Une fois le paramétrage terminé, exécutez dans le terminal :
uwsgi --ini /etc/uwsgi9090.ini & /usr/local/nginx/sbin/nginx
Entrez dans le navigateur : http://127.0.0.1, vous pouvez voir "Ça marche" de Django.