zhoujun.g 发表于 2018-11-8 08:02:20

Nginx+Django+Uwsgi架构部署

  随着IT不断发展,用户对网站的体验也越来越高,做为一名Linux运维攻城师,就得学习更多知识,网络、系统、硬件、开发等等知识。
  尤其是近期自动化运维的不断发展,更多的基础运维工程师开始不断的升华自己,提升自己,学习更多开发知识来满足企业的发展。目前自动化开发运维主要集中在python django、php开发,今天我们一起来探讨主流WEB服务器Nginx如何来部署Django,直接进入主题:
  一、Django环境部署
  官网下载django版本,目前最新版为1.7版本,https://www.djangoproject.com/
  然后解压安装,我这里安装完后,新建的app主目录为:/root/django/django/bin/command
# pwd  
/root/django/django/bin/command
  
# ls
  
commandmanage.py
  
#
  二、Uwsgi安装部署
  下载uwsgi安装包:wget http://projects.unbit.it/downloads/uwsgi-2.0.6.tar.gz
  解压安装:tar xzfuwsgi-2.0.6.tar.gz ;cd uwsgi-2.0.6/ ;python setup.py install 即可。
  安装完毕后,在/root/django/django/bin/command目录(与manage.py同级目录)新建如下文件:vidjango_wsgi.py
#!/usr/bin/env python  
# coding: utf-8
  
import os
  
import sys
  
reload(sys)
  
sys.setdefaultencoding('utf8')
  
os.environ.setdefault("DJANGO_SETTINGS_MODULE","command.settings")
  
from django.core.handlers.wsgiimport WSGIHandler
  
application = WSGIHandler()
  然后新建uwsgi配置文件,内容如下:vi uwsgi_socket.xml
  
   127.0.0.1:199
  
       /root/django/django/bin/command
  
         django_wsgi
  
               4
  
   uwsgi.log
  

  注* chdir目录写当前目录,即/root/django/django/bin/command
  三、Nginx部署配置
  Nginx安装大家都非常熟悉,这里直接上Server段配置代码:
server {  
      listen 80;
  
      server_name localhost;
  
      index index.php index.html;
  
      location / {
  
            include   uwsgi_params;
  
            uwsgi_pass127.0.0.1:199;
  
            uwsgi_param UWSGI_CHDIR/root/django/django/bin/command;
  
            uwsgi_param UWSGI_SCRIPTdjango_wsgi;
  
            access_log/usr/local/nginx/logs/access.log;
  
            }
  
      location /static {
  
         root/root/django/django/bin/command/command;
  
      }
  
   }
  四、部署测试
  分别启动uwsgi和nginx即可,然后通过浏览器直接访问Nginx 80端口即可。
  启动命令:
  uwsgi -x uwsgi_socket.xml
  /usr/local/nginx/sbin/nginx
  截图测试如下:





页: [1]
查看完整版本: Nginx+Django+Uwsgi架构部署