nginx fastcgi python_Nginx+FastCGI+Python
网上更多文章是用Django、webpy等框架的前提下,由于我只是用其CGI而不是搞纯web开发,所以暂时不打算用这类框架,直接用flup包(其实大多数框架WSGI也是封装的flup)。
废话不多说,进入正题,先看下需要的环境和工具:
1、Linux2.6(废话- -!)
2、Nginx(需包含fastcgi模块)
4、Python
安装都是些常规方法,就不一一介绍了
nginx的fastcgi配置照搬php的即可。
先上张简单画的原理图
spawn-fcgi是个工具,用来以fastcgi方式开启多个WSGIServer进程。
例:
spawn-fcgi -f /data/WSGIServer.py -a 127.0.0.1 -p 5678 -u www -F 5
-f WSGIServer脚本的决定路径
-a fastcgi绑定的ip
-p fastcgi绑定的端口
-u 已什么身份运行
-F 要启动的进程数(很多人以为是-C,其实那是PHP专用的,这里要用-F)
需要编码的部分就是WSGIServer这里了,贴个简单测试代码
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import flup.server.fcgi as flups
def application(environ, start_response):
"""该函数可以写成模块import导入"""
ret = ""
try:
uri = environ['PATH_INFO']
if uri[-1] == "/":
uri = uri[:-1]
if uri == "":
ret = str(environ)
elif uri == "/sleep":
import time
time.sleep(5)
ret = "sleep: 5 secends"
else:
ret = uri
except Exception, e:
ret = str(e)
status = '200 OK'
response_headers = [('Content-type','text/plain')]
start_response(status, response_headers)
return [ret]
if __name__ == "__main__":
#直接用python运行
#flups.WSGIServer(application, multithreaded=True, multiprocess=False, bindAddress=('127.0.0.1', 5678)).run()
#fastcgi方式运行
flups.WSGIServer(application).run()
nginx fastcgi python_Nginx+FastCGI+Python相关推荐
- 127.0.0.1 myz.php,在nginx上用FastCGI解析PHP
nginx配置文件: Nginx 默认使用 include enable-php.conf; 通过enable-php.conf 来解析PHP,该文件内容如下 location ~ [^/]\. ...
- nginx+PHP+PHP-FPM(FastCGI)在Ubuntu上的安装和配置
nginx+PHP+PHP-FPM(FastCGI)在Ubuntu上的安装和配置 0 之前知识回顾: 1) 目前各种服务器HTTP Server对PHP的支持一共有三种: a.通过HTTPServe ...
- wordpress支持MySQL5.5_CentOS 5.5安装Nginx、PHP(FastCGI)、MySQL --搭建LNMP环境安装Wordpress...
一.总体介绍 系统环境 CentOS release 5.5 (Final) ,kernel 2.6.18-194.el5 安装 Nginx . PHP(FastCGI) . MySQL ...
- Nginx+PHP(FastCGI)搭建胜过Apache十倍的Web服务器
前言:本文是我撰写的关于搭建"Nginx + PHP(FastCGI)"Web服务器的第6篇文章.本系列文章作为国内最早详细介绍 Nginx + PHP 安装.配置.使用的资料之一 ...
- [nginx源码]FastCGI模块详解
目录 1.初识FastCGI协议 1.1消息头 1.2消息体举例 2. 基础知识 2.1 FastCGI配置 2.2FastCGI配置预处理 3.构造FastCGI请求 3.1FastCGI请求结构 ...
- php fastcgi进程启动,如何设置nginx的php fastcgi进程数
九州编程 源码包可以在官方主页上下载.Ubuntu 7.10可以直接通过apt安装,也可以从这里下载最新的deb包:sudo apt-get install nginx如果要自己编译的话,需要确保自己 ...
- python django mysql安装_Django+Nginx+uWSGI+Mysql搭建Python Web服务器
原标题:Django+Nginx+uWSGI+Mysql搭建Python Web服务器 安装的时候全部选择英文,记得以前选择中文的时候安装时出了问题,服务器组件一个不选,Ubuntu安装做的很贴心,基 ...
- 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直接启动主文件,测试的时候是可以的,当访问量大的时候就会出问题 pyt ...
- nginx fastcgi python_Nginx + webpy 和FastCGI搭建webpy环境
web.py 是一个轻量级Python web框架,它简单而且功能大.web.py是一个开源项目. 1.所需要的软件: Nginx nginx-1.4.7.tar.gz (需要包含fastcgi和re ...
最新文章
- 人类又双叒叕输了,就没人能管管这条“狗”吗?
- iOS 学习 - 13.微信分享链接、QQ 分享图片
- mysql中rpl_MySQL管理工具MySQL Utilities — mysqlrplcheck(44)
- 2021.01.29 Visual QA论文阅读
- 地方微信群分享小程序源码,自带流量主独立版
- 信号调制产生边频的原理及希尔伯特解调
- ubutnu 下SVN 提交时忽略某些文件或文件夹
- 遇到一个日志文件变化带来的文件句柄问题
- 网络协议IPV6基础知识点集锦
- python tkinter frame滚动条_如何在Tkinter中创建带有滚动条的LabelFrame?
- java开发业务流程图,什么是业务流程图?业务流程图如何绘制?
- 微信小程序二维码生成
- 数据库MySQL学习——内含34道MySQL练习题及答案
- win10卸载电脑管家就蓝屏_卸载电脑管家时为什么蓝屏
- 云开发【云函数的使用】
- pap.er for mac高清壁纸下载后的储存位置在哪里?小编告诉你!!
- 百度地图批量精度和维度Java,关于百度地图API批量转换成坐标的方法
- 计算机管理恢复分区,windows10系统隐藏恢复分区Recovery Image的方法
- VC获取系统空闲时间
- 整数规划 - 数学建模