当前位置: 游戏平台 > 互联网科技 > 正文

Nginx+Django+Uwsgi架构部署

时间:2019-11-05 23:44来源:互联网科技
随着IT不断发展,用户对网站的体验也越来越高,做为一名Linux运维攻城师,就得学习更多知识,网络、系统、硬件、开发等等知识。 本文记录 LNMP 1.1环境中集成uWSGI部署Django应用的经过

随着IT不断发展,用户对网站的体验也越来越高,做为一名Linux运维攻城师,就得学习更多知识,网络、系统、硬件、开发等等知识。

本文记录 LNMP 1.1环境中集成uWSGI部署Django应用的经过。

尤其是近期自动化运维的不断发展,更多的基础运维工程师开始不断的升华自己,提升自己,学习更多开发知识来满足企业的发展。目前自动化开发运维主要集中在python django、php开发,今天我们一起来探讨主流WEB服务器Nginx如何来部署Django,直接进入主题:

测试用的VPS 环境为Ubuntu 14.04 x64 , Python 2.7.6

一、Django环境部署

一、安装平台

官网下载django版本,目前最新版为1.7版本,

1、安装pip

然后解压安装,我这里安装完后,新建的app主目录为:/root/django/django/bin/command

#apt-get install python-gevent python-pip

[root@Linux_wugk_SA command]# pwd
/root/django/django/bin/command
root@Linux_wugk_SA command]# ls
command  manage.py
[root@Linux_wugk_SA command]#

这里坑比较多,建议先装好pip 然后进行下面的步骤,后面的几个包都可以用pip 安装

二、Uwsgi安装部署

2.pip安装应用示例
 (1)安装包

下载uwsgi安装包:wget

# pip install simplejson

解压安装:

(2)更新包

tar xzfuwsgi-2.0.6.tar.gz ;
cd uwsgi-2.0.6/ ;
python setup.py install

# pip install --upgrade simplejson

即可。

(3)移除包

安装完毕后,在/root/django/django/bin/command目录(与manage.py同级目录)新建如下文件:vi  django_wsgi.py

# pip uninstall simplejson

#!/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()

3、安装MySql-python

然后新建uwsgi配置文件,内容如下:vi uwsgi_socket.xml

#pip install MySql-python

<uwsgi>
  <socket>127.0.0.1:199</socket>
        <chdir>/root/django/django/bin/command</chdir>
          <module>django_wsgi</module>
              <processes>4</processes>
  <daemonize>uwsgi.log</daemonize>
</uwsgi>

4、安装uWSGI

注* chdir目录写当前目录,即/root/django/django/bin/command

#pip install uWSGI

三、Nginx部署配置

5、安装Django

Nginx安装大家都非常熟悉,这里直接上Server段配置代码:

#pip install Django

server {
        listen 80;
        server_name localhost;
        index index.php index.html;
        location / {
            include    uwsgi_params;
            uwsgi_pass  127.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;
        }
    }

创建django项目
 项目位置:/home/django/mysite
创建项目方法:

四、部署测试

#cd /home/django
#django-admin.py startproject mysite

分别启动uwsgi和nginx即可,然后通过浏览器直接访问Nginx 80端口即可。

二、平台配置
1、Nginx相关配置

最终截图测试如下:

#mkdir /usr/local/nginx/conf/django
#cd /usr/local/nginx/conf/django
#vi django_uwsgi.conf

图片 1

内容如下:

Ubuntu 12.04 下部署 Nginx+uWSGI+Flask http://www.linuxidc.com/Linux/2014-01/96007.htm

# Django project 
server { 
        listen  80; 
        server_name 域名; 
 
        location / { 
            include    uwsgi_params; 
            uwsgi_pass  127.0.0.1:9000;
            uwsgi_param UWSGI_CHDIR  /home/django/mysite;
        uwsgi_param UWSGI_SCRIPT django_wsgi; 
            access_log  off; 
        } 
}

你应该使用 Nginx + uWSGI http://www.linuxidc.com/Linux/2013-07/87286.htm

编辑完成后在nginx.conf追加子配置文件django_uwsgi.conf

uWSGI + Nginx 部署 Flask Web 应用 http://www.linuxidc.com/Linux/2013-06/85828.htm

#cd ..
#vi nginx.conf

Django+Nginx+uWSGI 部署 http://www.linuxidc.com/Linux/2013-02/79862.htm

内容如下:

Linux下Nginx+uWSGI部署Python应用 http://www.linuxidc.com/Linux/2012-10/72443.htm

http{ 
........ 
include django/*.conf; 
}

Ubuntu Server 12.04 安装Nginx+uWSGI+Django环境 http://www.linuxidc.com/Linux/2012-05/60639.htm

2、UWSGI配置

CentOS 5.5 + Nginx 0.8.50 + uWSGI + Django 1.2.3 部署Django项目 http://www.linuxidc.com/Linux/2011-05/36399.htm

#mkdir -p /home/uwsgi;
#cd /home/uwsgi
#mkdir -p /home/django/logs
#echo "" > /home/django/logs/django.log
#vi uwsgi.xml

Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里

内容如下:

本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-09/106928.htm

<uwsgi> 
  <socket>127.0.0.1:9000</socket> 
  <listen>200</listen> 
  <master>true</master> 
  <pidfile>/usr/local/nginx/uwsgi.pid</pidfile> 
  <processes>8</processes> 
  <pythonpath>/home/django/mysite</pythonpath> 
  <module>django_wsgi</module> 
  <profiler>true</profiler> 
  <memory-report>true</memory-report> 
  <enable-threads>true</enable-threads> 
  <logdate>true</logdate> 
  <limit-as>6048</limit-as> 
  <daemonize>/home/django/logs/django.log</daemonize> 
</uwsgi>

图片 2

注意,如果下面几步启动不了可以更改 200 到 20 试试,可能存在端口占用的情况

3、创建django应用模块

#cd /home/django/mysite
#vi django_wsgi.py

编辑:互联网科技 本文来源:Nginx+Django+Uwsgi架构部署

关键词:

  • 上一篇:没有了
  • 下一篇:没有了