深入了解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_ ...
随机推荐
- ROS理解roslaunch命令
roslaunch命令从launch文件中启动一个节点,它的使用方法如下: roslaunch [package] [filename.launch] 首先切换到beginner_tutorials文 ...
- vim vimrc
set nu set shiftwidth= set tabstop= set softtabstop= set autoindent set cindent set smartindent file ...
- VUE中的v-if与v-show
1.共同点 都是动态显示DOM元素 2.区别 (1)手段:v-if是动态的向DOM树内添加或者删除DOM元素:v-show是通过设置DOM元素的display样式属性控制显隐: (2)编译过程:v-i ...
- js浮点数精度问题
大多数语言在处理浮点数的时候都会遇到精度问题,但是在JS里似乎特别严重,来看一个例子 alert(45.6*13); 结果居然是592.800000000001,当然加法之类的也会有这个问题 那这是j ...
- Toast的替代者Snackbar
在Android design support library中,SnackBar的使用: Part 2 – Welcome Snackbar, Goodbye Toast! BY PARESH MA ...
- java Socket 列子 一些参数设置比较全
http://blog.csdn.net/a19881029/article/details/11596945
- css em
em与px换算 任意浏览器的默认字体高度16px(16像素).所有未经调整的浏览器都符合: 1em=16px.那么,12px=0.75em,10px=0.625em.为了简化font-size的换算, ...
- Orz 终于有了自己的博客地址
新博客地址:http://www.wnjxyk.cn/
- c++11新特性(4) lambda捕捉块
lambda表达式中的方括号成为捕捉块,能够在这里指定怎样从所在的作用域中捕捉变量. 捕捉的意思是指能够在该lambda中使用该变量.即能够捕获外部变量在lambda表达式内使用. 能够使用两种方式来 ...
- BootStrap 智能表单系列 七 验证的支持
但凡是涉及到用户编辑信息然后保存的页面,都涉及到一个数据是否符合要求的检查,需要客服端和服务器端的校验的问题: 客服端的校验主要是为了提高用户体验,而服务器端的校验为了数据的合格性 该插件也为您支持到 ...