昨天花了一整天的时间研究搭建了nginx+python+fastcgi环境,并测试没问题,由于是第一次,并且参考了网上很多东西,网上也有很多,但还是把自己的过程记录下。

主要感谢这位兄弟的文章给了我很大的帮忙http://blog.csdn.net/linvo/article/details/5870498,不过这位兄弟的测试代码我没跑成功。

 一、环境配置主要分以下几步

1、Linux环境和python环境(此步骤省略)

2、Nginx环境、flup、spawn-fcgi工具的部署如下

  1. wget http://nginx.org/download/nginx-1.2.1.tar.gz
  2. tar -xzvf nginx-1.2.1.tar.gz
  3. cd nginx-1.2.1
  4. ./configure --prefix=/usr/local/nginx-1.2.1 --with-http_stub_status_module --with-http_ssl_module --with-cc-opt='-O2'
  5. make
  6. make install
  7. wget http://www.saddi.com/software/flup/dist/flup-1.0.2.tar.gz
  8. tar -xzvf flup-1.0.2.tar.gz
  9. cd flup-1.0.2
  10. python setup.py install
  11. http://www.lighttpd.net/download/spawn-fcgi-1.6.3.tar.gz
  12. tar -xzvf spawn-fcgi-1.6.3.tar.gz
  13. cd spawn-fcgi-1.6.3
  14. ./configure
  15. make
  16. make install
  17. 默认位置在/usr/local/bin/spawn-fcgi

二、配置nginx.conf支持fastcgi

具体配置不详说,下面是配置的一个虚拟主机。/naiveloafer.cgi就是配置的fastcgi,请求会转发到5678端口的程序,配置好后重启nginx服务。

  1. server {
  2. listen      83;
  3. server_name naiveloafer.xxx.com;
  4. access_log  logs/naiveloafer.xxx.com main;
  5. location / {
  6. root /usr/local/nlweb/htdocs;
  7. index index.html index.htm;
  8. }
  9. location /naiveloafer.cgi {
  10. fastcgi_pass 127.0.0.1:5678;
  11. include fastcgi.conf;
  12. }
  13. }

编写fcgi脚本,并保存为fcgi.py:

  1. #!/usr/bin/env python
  2. #coding=utf-8
  3. #author:naiveloafer
  4. #date:2012-06-07
  5. from flup.server.fcgi import WSGIServer
  6. def naiveloafer_app(environ, start_response):
  7. start_response('200 OK', [('Content-Type', 'text/plain')])
  8. content = "Hello World!naiveloafer"
  9. return [content]
  10. if __name__  == '__main__':
  11. WSGIServer(naiveloafer_app).run()

开启监听,具体参数见那位兄弟的文章

  1. 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版本)的更多相关文章

  1. linux+nginx+python+django环境配置

    Django是一个开放源代码的Web应用框架,由Python写成,它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的.python+django也是web开发者最受欢迎的框架.今天 ...

  2. 在阿里云服务器上配置CentOS+Nginx+Python+Flask环境

    在阿里云服务器上配置CentOS+Nginx+Python+Flask环境 项目运行环境 阿里云(单核CPU, 1G内存, Ubuntu 14.04 x64 带宽1Mbps), 具体购买和ssh连接阿 ...

  3. Linux—CentOS7下python开发环境配置

    CentOS7下python开发环境配置 上一篇博客讲了如何在Centos7下安装python3(https://www.cnblogs.com/zivli/p/9937608.html),这一次配置 ...

  4. 最简单的VScode Python 开发环境配置以及中文化

    前置条件 Python 3.X(2020年了,建议使用Python3.X版本) 一.下载VSCode VSCode官方下载链接 由于安装过程是中文界面,此处略过. 二.VSCode中文化 不需要配置什 ...

  5. PyCharm Django Python 开发环境配置 详细教程

    PyCharm Django Python 开发环境配置 详细教程 1. Python 下载及安装 (1)根据需要的版本去 Python 官网(https://www.python.org/downl ...

  6. MAC下 JDK环境配置、版本切换以及ADB环境配置

    网上方法,自己总结:亲测可行! 一.JDK环境配置.版本切换: 通过命令’jdk6′, ‘jdk7′,’jdk8’轻松切换到对应的Java版本: 1.首先安装所有的JDk:* Mac自带了的JDK6, ...

  7. python 开发环境配置

    上篇文章配置了虚机基础环境,本篇文章介绍配置python开发环境 配置YUM源 使用国内yum源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos ...

  8. centos7.0 安装日志--图文具体解释-python开发环境配置

    centos7.0公布之后,就下载了everthing的DVD镜像.今天有时间,所以决定在vbox底下体验一番--- 上图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nk ...

  9. 基于Pycharm的Python开发环境配置

    基于Pycharm的Python开发环境配置 编辑于2020-11-18 Python安装 双击桌面的Python3.x安装包. 勾选Add to path. 方便起见,选择Install now.下 ...

随机推荐

  1. Java高级架构师(一)第12节:Service的实现以及模块化

    BaseService.java package com.sishuok.architecture1.common.service; import java.util.List; import com ...

  2. iOS viewDidLoad 什么时候调用

    - (void)viewDidLoad; // Called after the view has been loaded. For view controllers created in code, ...

  3. Android之startActivityForResult

    作用:当aAty跳转之bAty时,需要bAty回传数据,使用startActivityForResult. 相关的函数: aAty:--跳转至bAty(intent可以传递数据) void andro ...

  4. MySQL Workbench 工具

    http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html http://www.cnblogs.com/daimage/archive ...

  5. SQL Server 基础 之 CASE 子句

    SELECT TOP 10 SalesOrderID, SalesOrderID % 10 AS 'Last Digit',-- 求最后一位的值 Position = CASE SalesOrderI ...

  6. 还原数据库完整sq语句l

    use master go declare @dbname varchar ( 20) set @dbname = 'QADB' declare @sql nvarchar ( 500) declar ...

  7. php漏洞挖掘书籍

    PHP是一种被广泛使用的脚本语言,尤其适合web开发.具有跨平台,容易学习,功能强大等特点,据统计全世界超过34%的网站有php的应用,包括Yahoo.sina.163.sohu等大型门户网站.而且很 ...

  8. Shell--命令执行的判断依据:;,&&,||

    :在命令与命令中间利用分号来隔开,这样一来,分号前得命令执行完后就会立刻接着执行后面的命令了 &&若第一个命令执行完毕并且正确执行也就是$?=0,则开始执行后一个命令,否则不执行 || ...

  9. 安装SpringExt以查看schema文件

    安装SpringExt以查看schema文件 学习了:https://blog.csdn.net/ltianchao/article/details/43565167 spring ext啊 mvn ...

  10. System.getProperty("line.separator")

    转自:http://blog.sina.com.cn/s/blog_707577700100nv74.html 标题所写的代码能获得当前系统的换行符. 不要随便用 \n\r    \n    \r,因 ...