一、WSGI 介绍

(1) 在前面的学习中,我们是通过 python manage.py runserver 0.0.0.0:8000 来启动并访问开发服务器的;
(2) 但在实际中我们是通过直接访问 Apache 或 Nginx 来访问开发服务器,这就需要用到 WSGI(Web Server Gateway Interface,Web服务器网关接口);
(3) WSGI 是作为 Web Server(Web服务器) 与 Web Application(Web应用程序) 之间的一种接口,实现 Web Server 与 Web Application 之间的交互;
(4) 这里的 Web Server 可以是 Apache 或 Nginx ,而 Web Application 也就是我们的 Django 项目(SimpleCMDB),通过 WSGI ,我们直接访问 Apache 或 Nginx 就能直接访问到我们的项目。

二、SimpleCMDB 与 Apache 结合

[root@localhost ~]$ yum install -y mod_wsgi    # 先给 Apache 安装 WSGI 模块,Apache 是基于模块工作的
[root@localhost ~]$ cat /etc/httpd/conf.d/simplecmdb.conf    # Apache配置如下
<VirtualHost *:>
WSGIDaemonProcess simplecmdb python-path=/opt/SimpleCMDB:/usr/lib/python2./site-packages
WSGIProcessGroup simplecmdb
WSGIScriptAlias / /opt/SimpleCMDB/SimpleCMDB/wsgi.py
Alias /static /usr/lib/python2./site-packages/django/contrib/admin/static
</VirtualHost> <Directory /opt/SimpleCMDB/SimpleCMDB>
Order allow,deny
Allow from all
</Directory> WSGISocketPrefix /var/run/wsgi //关于WSGI的配置的解释说明,参考:https://modwsgi.readthedocs.io/en/develop/configuration-directives/WSGIDaemonProcess.html
[root@localhost ~]$ /etc/init.d/httpd start    # 启动 Apahce,这样我们就能直接通过 http://your_ip/ 访问 SimpleCMDB 项目了

三、SImpleCMDB 与 Nginx 结合

[root@localhost ~]$ pip install gunicorn    # 先给 Nginx 安装 gunicorn 模块,Nginx 是基于模块工作的
[root@localhost ~]$ cat /usr/local/nginx/conf/vhosts/simplecmdb.conf     # Nginx 配置如下
server {
listen ;
server_name www.simplecmdb.com; # 指定要代理的网站域名 location /static/admin/ { # Django 后台管理页面配置
root /usr/lib/python2./site-packages/django/contrib/admin/;
index index.html index.htm index.php;
} location / {
proxy_pass http://localhost:80; # 指定代理的网站的实际地址
}
}
[root@localhost ~]$ cd /opt/SimpleCMDB/                                 # 进入项目目录
[root@localhost SimpleCMDB]$ gunicorn SimpleCMDB.wsgi:application -D # 在后台运行WSGI
[root@localhost ~]$ /usr/local/nginx/sbin/nginx -t
[root@localhost ~]$ /usr/local/nginx/sbin/nginx -s reload
//重载 Nginx,这样我们就能直接通过 http://your_ip/ 访问 SimpleCMDB 项目了

Django SimpleCMDB WSGI的更多相关文章

  1. Django + Apache + wsgi配置和环境搭建(ubuntu)

    上一篇写了Django + nginx + uwsgi配置和环境搭建(ubuntu) 由于公司服务器环境问题,又配置了apache的环境.记录例如以下: 一. 安装环境: #apache sudo a ...

  2. [TimLinux] Python Django与WSGI的简介

    1. Web应用 web应用的最原始的访问流程: 客户端发送HTTP请求: 服务端接收到请求,生成一个HTML文档: 服务端将构造HTTP响应,包含:响应头(响应码.键值对).响应体(HTML文档) ...

  3. Django之WSGI 和MVC/MTV

    一.什么是WSGI? WEB框架的本质是一个socket服务端接收用户请求,加工数据返回给客户端(Django),但是Django没有自带socket需要使用 别人的 socket配合Django才能 ...

  4. Django SimpleCMDB 项目

    创建 SimpleCMDB 项目: [root@localhost ~]$ django-admin.py startproject SimpleCMDB 创建应用,收集主机信息: [root@loc ...

  5. Django SimpleCMDB 使用序列化

    如下,前面我们是使用 urllib 方法来转换并传递数据的: [root@localhost ~]$ tail /data/script/getHostInfo.py if __name__ == ' ...

  6. Django SimpleCMDB API

    编写一个API,当我们访问 http://192.168.216.128:8000/hostinfo/getjson 时,返回 json 格式的主机组和组成员信息: [root@localhost S ...

  7. Django之WSGI浅谈

    一.什么是Web框架 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统. 浏览器与服务器之间发起HTTP请求: 1.浏览器发送一 ...

  8. ubuntu apache2 wsgi 部署django

    入题 分为如下几步 1.安装python 2.安装django 3.安装wsgi,如有问题请参照上一篇 ubuntu 编译安装 mod_wsgi 4.与apache集成这里主要讲这部分 环境apach ...

  9. django apache 通过wsgi部署

    生产上部署django 1. 修改settings关闭debug DEBUG = False ALLOWED_HOSTS = ['*'] 2. 安装wsgi yum -y install mod_ws ...

随机推荐

  1. 安装JDK时提示 IllegalArgumentException:Invalid characters in hostname的解决方法

    今天在windows7_x64上安装JDK的时候提示IllegalArgumentException:Invalid characters in hostname, 解决方法: 1.打开[控制面板\系 ...

  2. Sword protobuf学习四

    #include <iostream> #include <string> #include <sys/types.h> /* See NOTES */ #incl ...

  3. idea+maven无法自动加载jar包

    没有配置maven的环境变量所致 执行mvn -version进行检测

  4. python新模块:secrets模块(为账户密码)

    默认我们会使用random模块, 而secrets模块用来产生强加密的随机数, 例如账号认证 import secrets import string characters = string.asci ...

  5. 【Python】Python加lxml实现图片解析下载功能

    1.下载网页:OpenHtml.py import urllib.request from urllib.parse import quote class HtmlLoader(object): de ...

  6. e795. 获得和设置JSlider的值

    // To create a slider, see e794 创建JSlider组件 // Get the current value int value = slider.getValue(); ...

  7. JAXB:Java对象序和XML互相转化的利器

    JAXB(Java Architecture for XML Binding简称JAXB)允许Java开发人员将Java类映射为XML表示方式.JAXB提供两种主要特性:将一个Java对象序列化为XM ...

  8. [ACM] POJ 1611 The Suspects (并查集,输出第i个人所在集合的总人数)

    The Suspects Time Limit: 1000MS   Memory Limit: 20000K Total Submissions: 21586   Accepted: 10456 De ...

  9. SqlServer 数据库引擎优化顾问优化数据库

    现在一直在做的项目,数据量相对也不小,开始的时候没有觉得,因为是刚开始,数据量还很小,在程序使用过程中速度还挺快,但是随着数据量的不停的增长,发现程序越来越慢,甚至出现了超时的问题,因此要对程序和数据 ...

  10. C# 时间比较方法DateTime.Compare

    public static int Compare(DateTime t1,DateTime t2) 返回值 类型:System..::.Int32 有符号数字,指示 t1 和 t2 的相对值. 值类 ...