nginx+python+fastcgi环境配置(flup版本)
昨天花了一整天的时间研究搭建了nginx+python+fastcgi环境,并测试没问题,由于是第一次,并且参考了网上很多东西,网上也有很多,但还是把自己的过程记录下。
主要感谢这位兄弟的文章给了我很大的帮忙http://blog.csdn.net/linvo/article/details/5870498,不过这位兄弟的测试代码我没跑成功。
一、环境配置主要分以下几步:
1、Linux环境和python环境(此步骤省略)
2、Nginx环境、flup、spawn-fcgi工具的部署如下
- wget http://nginx.org/download/nginx-1.2.1.tar.gz
- tar -xzvf nginx-1.2.1.tar.gz
- cd nginx-1.2.1
- ./configure --prefix=/usr/local/nginx-1.2.1 --with-http_stub_status_module --with-http_ssl_module --with-cc-opt='-O2'
- make
- make install
- wget http://www.saddi.com/software/flup/dist/flup-1.0.2.tar.gz
- tar -xzvf flup-1.0.2.tar.gz
- cd flup-1.0.2
- python setup.py install
- http://www.lighttpd.net/download/spawn-fcgi-1.6.3.tar.gz
- tar -xzvf spawn-fcgi-1.6.3.tar.gz
- cd spawn-fcgi-1.6.3
- ./configure
- make
- make install
- 默认位置在/usr/local/bin/spawn-fcgi
二、配置nginx.conf支持fastcgi
具体配置不详说,下面是配置的一个虚拟主机。/naiveloafer.cgi就是配置的fastcgi,请求会转发到5678端口的程序,配置好后重启nginx服务。
- server {
- listen 83;
- server_name naiveloafer.xxx.com;
- access_log logs/naiveloafer.xxx.com main;
- location / {
- root /usr/local/nlweb/htdocs;
- index index.html index.htm;
- }
- location /naiveloafer.cgi {
- fastcgi_pass 127.0.0.1:5678;
- include fastcgi.conf;
- }
- }
编写fcgi脚本,并保存为fcgi.py:
- #!/usr/bin/env python
- #coding=utf-8
- #author:naiveloafer
- #date:2012-06-07
- from flup.server.fcgi import WSGIServer
- def naiveloafer_app(environ, start_response):
- start_response('200 OK', [('Content-Type', 'text/plain')])
- content = "Hello World!naiveloafer"
- return [content]
- if __name__ == '__main__':
- WSGIServer(naiveloafer_app).run()
开启监听,具体参数见那位兄弟的文章
- spawn-fcgi -f /usr/local/nlweb/cgi-bin/fcgi.py -a 127.0.0.1 -p 5678 -u nobody -F 5
至此,通过web或者HTTP请求就能从fastcgi返回信息了。但这只是一个具体的配置
具体如何处理请求的参数,获取请求的数据看
nginx+python+fastcgi环境配置(flup版本)的更多相关文章
- linux+nginx+python+django环境配置
Django是一个开放源代码的Web应用框架,由Python写成,它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的.python+django也是web开发者最受欢迎的框架.今天 ...
- 在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境 项目运行环境 阿里云(单核CPU, 1G内存, Ubuntu 14.04 x64 带宽1Mbps), 具体购买和ssh连接阿 ...
- Linux—CentOS7下python开发环境配置
CentOS7下python开发环境配置 上一篇博客讲了如何在Centos7下安装python3(https://www.cnblogs.com/zivli/p/9937608.html),这一次配置 ...
- 最简单的VScode Python 开发环境配置以及中文化
前置条件 Python 3.X(2020年了,建议使用Python3.X版本) 一.下载VSCode VSCode官方下载链接 由于安装过程是中文界面,此处略过. 二.VSCode中文化 不需要配置什 ...
- PyCharm Django Python 开发环境配置 详细教程
PyCharm Django Python 开发环境配置 详细教程 1. Python 下载及安装 (1)根据需要的版本去 Python 官网(https://www.python.org/downl ...
- MAC下 JDK环境配置、版本切换以及ADB环境配置
网上方法,自己总结:亲测可行! 一.JDK环境配置.版本切换: 通过命令’jdk6′, ‘jdk7′,’jdk8’轻松切换到对应的Java版本: 1.首先安装所有的JDk:* Mac自带了的JDK6, ...
- python 开发环境配置
上篇文章配置了虚机基础环境,本篇文章介绍配置python开发环境 配置YUM源 使用国内yum源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos ...
- centos7.0 安装日志--图文具体解释-python开发环境配置
centos7.0公布之后,就下载了everthing的DVD镜像.今天有时间,所以决定在vbox底下体验一番--- 上图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nk ...
- 基于Pycharm的Python开发环境配置
基于Pycharm的Python开发环境配置 编辑于2020-11-18 Python安装 双击桌面的Python3.x安装包. 勾选Add to path. 方便起见,选择Install now.下 ...
随机推荐
- SpringMVC(流程+第一个Demo)
一.流程图 用户发送请求至前端控制器DispatcherServlet DispatcherServlet收到请求调用HandlerMapping处理器映射器. 处理器映射器根据请求url找到具体的处 ...
- JNI之Hello World!
基本流程: 1. 创建一个类(HelloWorld.java)2. 使用 javac 编译该类3. 利用 javah -jni 产生头文件4. 用本地代码实现头文件中定义的方法5. Run 备注:在一 ...
- 【报错】引入jar包import org.apache.commons.codec.digest.DigestUtils 报错,jar不存在
import org.apache.commons.codec.digest.DigestUtils报错.缺少jar maven引用jar包地址: <!-- https://mvnreposit ...
- 用户文件夹在Finder中消失的问题
这个问题最早有人报告说.在升级了10.9.3的机器上.用户文件夹(/Users)会在Finder中消失.可是非常多人没有这个问题.经过多人的重复查证,最后锁定在iTunes 11.2更新上.假设用户打 ...
- 物联仓储系统ZigBee组网原理
在嵌入式项目物联仓储系统中,使用cortexM0模拟仓库,cortex-A9模拟服务器,两块开发板之间使用ZigBee技术实现数据接收和发送,本文就介绍一下ZigBee组网的原理和相关步骤. 1.组网 ...
- FL2440 rt3070模块station模式动态获取IP地址
---------------------------------------------------------------------------------------------------- ...
- 常见配置Server错误导致import 包无效等问题解决
- Spark(一)-- Standalone HA的部署
首先交代一下集群的规模和配置 集群有六台机器,均是VM虚拟机,每台256M的内存(原谅楼主物理机硬件不太给力) 主机名分别是cloud1~cloud6 每台机器上都装有jdk6,和hadoop-2.2 ...
- 作为Java程序员应该掌握的10项技能
本文详细罗列了作为Java程序员应该掌握的10项技能.分享给大家供大家参考.具体如下: 1.语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知 ...
- vue - check-version
描述:check-versions.js,vue-cli中检查版本的js文件 使用: