Django SimpleCMDB WSGI】的更多相关文章

一.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…
上一篇写了Django + nginx + uwsgi配置和环境搭建(ubuntu) 由于公司服务器环境问题,又配置了apache的环境.记录例如以下: 一. 安装环境: #apache sudo apt-get install apache2 # Python 2 sudo apt-get install libapache2-mod-wsgi 二. django: 2.1 保证站点能执行: 根文件夹执行:python manage.py runserver 0.0.0.0:1111 能在0.…
1. Web应用 web应用的最原始的访问流程: 客户端发送HTTP请求: 服务端接收到请求,生成一个HTML文档: 服务端将构造HTTP响应,包含:响应头(响应码.键值对).响应体(HTML文档) 客户端接收HTTP响应,并呈现内容 2. WSGI 脱离底层HTTP协议层内容,只关注如何生成HTML文档部分,并定义了一个标准:Web Server Gateway Interface.重点要求实现一个能够接收两个参数的可调用对象(单独的函数,或者类中的__call__函数) 2.1. 类实现 c…
一.什么是WSGI? WEB框架的本质是一个socket服务端接收用户请求,加工数据返回给客户端(Django),但是Django没有自带socket需要使用 别人的 socket配合Django才能正常运行,socket有很多如下,  但是它们必须遵循一个规范 WSGI(web服务网关接口)这个所有socket都遵守的规范就是WSGI. Django默认使用: Django框架中不包含socket,它默认使用第三方的wgiref socket(并发性能低 测试使用),也可以结合其他socket…
创建 SimpleCMDB 项目: [root@localhost ~]$ django-admin.py startproject SimpleCMDB 创建应用,收集主机信息: [root@localhost ~]$ cd SimpleCMDB/ [root@localhost SimpleCMDB]$ python manage.py startapp hostinfo 修改配置: [root@localhost SimpleCMDB]$ cat SimpleCMDB/settings.p…
如下,前面我们是使用 urllib 方法来转换并传递数据的: [root@localhost ~]$ tail /data/script/getHostInfo.py if __name__ == '__main__': .... data = urllib.urlencode(hostInfo) request = urllib2.urlopen('http://192.168.216.128:8000/hostinfo/collect/', data) print(request.read(…
编写一个API,当我们访问 http://192.168.216.128:8000/hostinfo/getjson 时,返回 json 格式的主机组和组成员信息: [root@localhost SimpleCMDB]$ cat SimpleCMDB/urls.py .... urlpatterns = patterns('', .... url(r'^hostinfo/getjson/$', 'hostinfo.views.getjson'), ) [root@localhost Simpl…
一.什么是Web框架 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统. 浏览器与服务器之间发起HTTP请求: 1.浏览器发送一个HTTP请求: 2.服务器收到请求,生成一个HTML文档: 3.服务器把HTML文档作为HTTP响应的Body发送给浏览器: 4.浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示. 对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客…
入题 分为如下几步 1.安装python 2.安装django 3.安装wsgi,如有问题请参照上一篇 ubuntu 编译安装 mod_wsgi 4.与apache集成这里主要讲这部分 环境apache 2.4.7 高于此版本适用于此 如果版本不同可以参考此配置,但是出现问题可以尝试其他 1.在apache的模块里添加wsgi 我这里是在 /etc/apache2/mods-available添加文件 wsgi.load 内容如下: LoadModule wsgi_module /usr/lib…
生产上部署django 1. 修改settings关闭debug DEBUG = False ALLOWED_HOSTS = ['*'] 2. 安装wsgi yum -y install mod_wsgi # yum安装因为我的apche是yum安装的 官方下载地址:http://code.google.com/p/modwsgi/ 安装完查看apache目录中有没有mod_wsgi.so模块和生成的wsgi.conf的配置文件,wsgi.conf中只是导入了wsgi的模块,如果没有可以手动导入…
Django 源码小剖: 初探 WSGI python 作为一种脚本语言, 已经逐渐大量用于 web 后台开发中, 而基于 python 的 web 应用程序框架也越来越多, Bottle, Django, Flask 等等. 在一个 HTTP 请求到达服务器时, 服务器接收并调用 web 应用程序解析请求, 产生响应数据并返回给服务器. 这里涉及了两个方面的东西: 服务器(server)和应用程序(application). 势必要有一个合约要求服务器和应用程序都去遵守, 如此按照此合约开发的…
今人不见古时月,今月曾经照古人.生命是如此的美丽与短暂! 学习Python已经两个月了,Python的语法通过做简单的语法题和看Python语法介绍,有了初步的了解.但上班还是要做别的事情,所以感觉学起来特别慢.有一种时不我待的感觉. 基本的语法了解了,接下来就要尽快进入到项目的实战.这样才能快速的遇到问题,并解决问题,迅速提升能力. 开始当然就是先按网上的一般步骤,用django写个博客网站出来. 接下来就是血泪啊!配置这个Python + wsgi + django, 其恶心已达到足以让我呕…
在ubuntu上通过apatch2和wsgi部署django (亲手做过!!!) 一,我的python.django.apatch2版本: python:python -V 2.7.3 django:python -c "import django; print(django.VERSION)" (1, 9, 4, 'final', 0) apache2:/usr/sbin/apachectl -v Server version: Apache/2.2.22 (Ubuntu) Serv…
django wsgi python有个自带的wsgi模块 可以写自定义web框架 用wsgi在内部创建socket对象就可以了 自己只写处理函数就可以了django只是web框架 他也不负责写socket django 依赖wsgi接口创建socket wsgi是一套规则 是一套接口 按照wsgi规则写 以后想封装socket 在内部封装socket就可以了 我只要遵循规则 把wsgi模块一导入 我就可以使用wsgi写的socket了 遵循wsg socketi接口有哪些这些模块已经创建好so…
""" WSGI config for HelloWorld project. It exposes the WSGI callable as a module-level variable named ``application``. For more information on this file, see https://docs.djangoproject.com/en/1.10/howto/deployment/wsgi/ """ i…
1下载xampp,里面有apache,mysql,phpmyadmin, 2 下载wsgi,http://download.csdn.net/download/copter/9192361 将对应的模块解压放到D:\programs\xampp\apache\modules 然后到D:\programs\xampp\apache\conf\httpd.conf中 # 添加mod_wsgi.so 模块LoadModule wsgi_module modules/mod_wsgi.so # Virt…
1. 命令行启动 命令行是通过runserver子命令来启动的,对应的django模块为django.core.management.commands.runserver,调用关系结构: # 简化的运行代码: django.core.management.commands.runserver.py class Command: def get_handler(): return django.core.servers.basehttp.get_internal_wsgi_application(…
Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx) 一丶集群和Nginx反向代理 集群的概念: 集群的特性: Nginx的反向代理 # 反向代理 # 通过访问Nginx的web服务,由Nginx 对 '有效的请求' 进行一个请求转发,请求到真正的web服务后台数据.返回给用户. # 正向代理 # vpn . 访问外国的网站,需要把你的请求进行伪装/代理进行转发 ### 如下图~~…
本文环境python3.5.2,django1.10.x系列 根据前上一篇runserver的博文,已经分析了本地调试服务器的大致流程,现在我们来分析一下当runserver运行起来后,django框架是如何处理一个请求的,django框架是遵循了wsgi标准,所以django的项目可以和gunicorn等wsgi服务器配合使用,此处我们就主要分析一下django的wsgi流程分析. 在runserver函数中,有调用 def get_internal_wsgi_application(): "…
1.安装wsgi模块 yum search mod_wsgi yum install -y mod_wsgi 2.会在httpd下有配置文件 cd /etc/httpd/conf.d/wsgi.conf vim /etc/httpd/conf.d/django.conf <VirtualHost *:> WSGIDaemonProcess simplecmdb_mysql_pickle python-path=/usr/local/test/Python-Test/Django_test/si…
前面说完了此项目的创建及数据模型设计的过程.如果未看过,可以到这里查看,并且项目源码已经放大到github上,可以去这里下载. 代码也已经部署到sina sea上,地址为http://fengzheng.sinaapp.com/ 先跳过视图展示及表单处理的部分,先介绍一下如何部署. 标题中已经把部署环境介绍的很清楚了: 服务器:CentOS6.5 其实就是我的开发机 mysql:Server version: 5.1.73 Source distribution nginx版本: nginx/1…
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式.今天在Ubuntu上使用Nginx部署Django服务,虽然不是第一次搞这个了,但是发现还是跳进了好多坑,google了好久才搞定.想想还是把这个过程记录下来,免得下次再来踩同样的坑. 安装Nginx apt-get install nginx ubantu安装完Nginx后,文件结构大致为: 所有的配置文件都在 /etc/nginx下: 启动程序文件在 /usr/sbin/nginx下: 日志文件在 /…
前言:试着使用python搭建一个网页,分别在windows下和linux下,本篇文章主要讲解Window下python+Apache+mod_wsgi+Django服务器配置过程中遇见的问题和解决方法. 本文最后修改于2015-11-02,请先将本文的第12步做完,然后参考下一篇文章将Django配置完后再走第三步之后的. 补充说明:apache版本2.4 python2.7.10 Django1.8.4 mod_wsgi目前官网针对python2.7版本只有一个,也只有python2.7.1…
在此之前,我们一直使用django的manage.py 的runserver 命令来运行django应用,但这只是我们的开发环境,当项目真正部署上线的时候这做就不可行了,必须将我们的项目部署到特定的web服务器上. 安装apache Apache是非常有名的web服务器软件,如果想让我们web项目运行几乎离不开它. Apache官方网站:http://httpd.apache.org/ 根据自己的环境,选择相应的版本进行下载.apache 官网没有windows 64位版本,可以通过下面的链接进…
服务器配置是Ubuntu14.04 64位OS ubuntu14.04默认是安装好了python2.7版本不用自己安装了. 先更新下源 sudo apt-get update 第一步先安装pip sudo apt-get install -y python-pip 有些时候安装pip前需要安装几个相关包 sudo apt-get install -y python-dev sudo apt-get install -y libevent-dev 安装完pip后我们开始安装django sudo…
一.安装uwsgi 通过pip安装uwsgi. pip install uwsgi 测试uwsgi,创建test.py文件: def application(env, start_response):     start_response('200 OK', [('Content-Type','text/html')])     return [b"Hello World"] 通过uwsgi运行该文件. uwsgi --http :8001 --wsgi-file test.py 常用…
前言 网上有关的教程千篇一律,都是无脑抄,自己都不验证一遍就直接复制,毫无意义,我通过官方文档和自己摸索,总结了一套教程. Django自带Web服务功能,但那只是方便开发调试,生产环境中一般将Django搭配Apache使用,mod_wsgi是用来沟通Django和Apache的桥梁. 本教程需要下载的文件都是直接通过官网下载的,我已将本教程所用到的文件打包上传到云盘,有需要的童鞋可以直接下载: http://pan.baidu.com/s/1pLD7vVP 环境说明 操作系统:CentOS…
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.nginx把所有静态请求自己来处理(这是NGINX的强项).然后,NGINX将所有非静态请求通过uwsgi传递给Django,由Django来进行处理,从而完成一次WEB请求. 可见,uwsgi的作用就类似一个桥接器.起到桥梁的作用. Linux的强项是用来做服务器,所以,下面的整个部署过程我们选择在U…
前言 很久没更博客了,最近新写了一个小项目,后边有时间把一些心得放上来,先把环境的部署方式整理出来. 部署过程 先将环境的python升级为2.7 保证有pip 安装了nginx并配置 vim /Data/apps/nginx/conf/include/sqlaudit.conf server { listen 80; #对外80端口 server_name sqladmin.xxxx.net; location / { root /Data/apps/djangoproject/sqlaudi…
预装:nginx,  django Django站点tree |Site |-----Blog(自建的项目) |-----Manage.py |-----Site(setting url wsgi-.) |       |-----wsgi.py |-----static |       |-----js |  |-----css |-----uwsgi.log |-----uwsgi-socket.xml 1.      libxml2.libxml2-devel.uwsgi 1.1 安装 注…