深入了解Nginx之Nginx与Python(1)
6 Python和Nginx
6.1 简介FastCGI
FastCGI(Fast Common Gateway Interface)是基于CGI上的改进,是CGI的一种演变产物。虽然目的是保持同样的。FastCGI在CGI上提供了重大的提升,通过建立起以下的原则。
l 取代对于每一个请求孵化一个新进程,FastCGI採用持久化进程。伴随着可以处理多个请求的能力。
l Webserver和网关应用程序通过使用sockets比方TCP或者POSIXT 本地IPC sockets来交流。其结果是,它们的 进程可以在一个网络上的两个不同的计算机上。
l Webserver转向client请求道网关,在一个单一的连接中接受请求。
额外的请求可能也伴随着不必创建一个额外的连接。注意到在大多数server上,包含Nginx和Apache,FastCGI的实现不支持多路复用(multiplexing)。
l 既然FastCGI是一个基于socket协议,它可以在不论什么平台任以不论什么语言来实现。
设计一个强大的FastCGI架构实际上不是如某人想象的那么复杂。仅仅要你有一个Webserver和一个正在执行的处理应用程序就能够了。
唯一的难点就是保持去在两个组织间进行连接。
6.2 uWSGI 和 SCGI
Nginx提供了两个其他基于CGI模块的实现。
l uWSGI模块同意Nginx去与应用程序以uwsgi协议进行交流,它本身源之于Web Server GatewayInterface(WSGI)。大部分一般使用server实现的是uwsgi协议,这不是uWSGI的原始名称。这个能够从它提供的最新文档(http://uwsgi-docs.readthedocs.org.)中能够知道。uWSGI
project主要就是为Python应用程序而设计的。
l SCGI。代表着简单一般网关接口(SimpleCommon Gateway Interface)。是一个CGI协议的变种,更像FastCGI。可是,比FastCGI更年轻,它的详细规范在2006年公布,设计SCGI是为了更easy去实现。正如它名字表达的一样:简单。它不与一种特殊的编程语言相关。
FastCGI, uwsgi 和 SCGI的重大不同之处是它们的协议是不一样的,Nginx以模块将他们分开,以下一个表单将呈现相应关系。
版权声明:本文博主原创文章。博客,未经同意不得转载。
深入了解Nginx之Nginx与Python(1)的更多相关文章
- Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器
Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器 闲着无聊的时候部署了一个Django项目玩,用vm虚拟机部署的. 准备工作 我使用的系统是Ubuntu16 ...
- 通过uwsgi+nginx启动flask的python web程序
通过uwsgi+nginx启动flask的python web程序 一般我们启动python web程序的时候都是通过python直接启动主文件,测试的时候是可以的,当访问量大的时候就会出问题pyth ...
- nginx tomcat 自动部署python脚本【转】
#!/usr/bin/env python #--coding:utf8-- import sys,subprocess,os,datetime,paramiko,re local_path='/ho ...
- [python][nginx][https] Nginx 服务器 SSL 证书安装部署
目录 前言 1 申请证书 2 Nginx 服务器 SSL 证书安装部署 2.1.准备 Nginx 环境 2.2 证书部署 2.3 Nginx 配置 3 最后 参考链接 前言 博主博客中的图片,使用的是 ...
- 快速掌握Nginx(三) —— Nginx+Systemd托管netcore应用
以前dotnet web应用程序开发完成后,我们都是使用IIS部署在Windows Server上,如今netcore技术发展迅速,因为其跨平台的特性,将dotnet web应用程序部署在更方便部署和 ...
- nginx——优化 Nginx access 日志
1. 配置日志切割 #!/bin/bash savepath_log='/usr/local/clogs' nglogs='/usr/local/nginx/logs' mkdir -p $savep ...
- Announcing the Updated NGINX and NGINX Plus Plug‑In for New Relic (Version 2)
In March, 2013 we released the first version of the “nginx web server” plug‑in for New Relic monitor ...
- nginx——优化 Nginx worker 进程数
Nginx 有 Master 和 worker 两种进程,Master 进程用于管理 worker 进程,worker 进程用于 Nginx 服务 worker 进程数应该设置为等于 CPU 的核数, ...
- 死磕nginx系列--nginx入门
nginx 功能介绍 Nginx因为它的稳定性.丰富的模块库.灵活的配置和低系统资源的消耗而闻名.业界一致认为它是Apache2.2+mod_proxy_balancer的轻量级代替者,不仅是因为响应 ...
- Nginx配置文件nginx.conf中文详解(转)
######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_ ...
随机推荐
- java——HashCode和equal方法
equals()反映的是对象或变量具体的值,即两个对象里面包含的值--可能是对象的引用,也可能是值类型的值. 而hashCode()是对象或变量通过哈希算法计算出的哈希值. 之所以有hashCode方 ...
- codeforces 463C Gargari and Bishops
题目链接 这个题, 最主要的应该是找到对角线上的格子的关系. “ \" 这种对角线, 关系是x-y+n相等, ” / “ 这种, 关系是x+y相等.知道每个格子的两种对角线的值, 那么这个格 ...
- php错误 mysql_query():supplied argument is not a valid MySQL result resource
出现这种错误,原因是出现该错误的函数的参数出现了问题 参数出现问题有多种情况: 1.sql查询语句有问题,可能多了一个逗号,少了一个逗号,多了括号之类的: 2.与数据库连接的参数有问题,用户名.密码. ...
- JavaScript 反柯里化
浅析 JavaScript 中的 函数 uncurrying 反柯里化 柯里化 柯里化又称部分求值,其含义是给函数分步传递参数,每次传递参数后部分应用参数,并返回一个更具体的函数接受剩下的参数,这中间 ...
- HTML标签解释大全
一.HTML标记 标签:!DOCTYPE 说明:指定了 HTML 文档遵循的文档类型定义(DTD). 标签:a 说明:标明超链接的起始或目的位置. 标签:acronym 说明:标明缩写词. ...
- 深信服模式(先做减法,必须拜访客户三次、研究需求方向,把产品的问题控制住,快速反应,在未来十年,绝大部分业务都会搬到Internet上来,实现All on Internet)good
深圳市盛凯信息科技有限公司与深信服合作多年,可以说是看着深信服“飞速”长大的.盛凯的总经理邓渊在采访中笑言:“他们(深信服)发展得太快,而我们发展得太慢.” 深信服的产品线已从最初只有VPN一条,到目 ...
- QTableView的表格项中加入图标的方法(重载View::mouseMoveEvent,并使用View::setIconSize函数设置图标的大小)
当在使用表格视图的时候,需要在表格每一行前面加入图标,应该怎么做呢?Qt中通过使用MVC的处理方式,很容易做到这一点,具体实现如下: 先贴出图,让大家一睹为快 下面我就来介绍一下,上图的灯泡是怎么实现 ...
- ilmerge合并多个组件
原文 http://www.cnblogs.com/margiex/archive/2008/06/24/302329.html 年初的一篇文章中提到过一下: http://margiex.cnblo ...
- 部署nginx+rsyslog补丁
nginx 配置: user nginx; worker_processes 1; syslog local5 nginx; error_log /var/log/nginx/nginx_error. ...
- 飘逸的python - 用urlparse从url中抽离出想要的信息
最近有个需求,要检测配置中的那些url的域名是否都正常,即是否都能ping通. 不过配置中url格式是这样的 http://www.something.com:1234/ . 要ping的是www.s ...