昨天花了一整天的时间研究搭建了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. Go beego框架使用笔记(一)

    Beego介绍 beego我认为是go初学者比较容易上手的一门MVC Web框架.简单易懂,最重要的一点就是提供了中文文档,这对于我这种英语能力比较差的人来说就是福音. beego的官网上是这么介绍b ...

  2. Centos7.3 bbc tools安装

    http://blog.csdn.net/orangleliu/article/details/54099528 更新到最新 CentOS 7.3 1611 yum update -y cat /et ...

  3. winform TreeView树节点上下移动

    /// <summary> /// 上移 /// </summary> /// <param name="sender"></param& ...

  4. JS中的Math.pow(a,b)方法

    定义和用法 pow() 方法可返回 x 的 y 次幂的值. 语法 Math.pow(x,y) 参数 描述 x 必需.底数.必须是数字. y 必需.幂数.必须是数字. 返回值 x 的 y 次幂. 说明 ...

  5. Shell实现多级菜单系统安装维护脚本实例分享

    Shell实现多级菜单系统安装维护脚本实例分享 这篇文章主要介绍了Shell实现多级菜单系统安装维护脚本实例分享,本文脚本用多级菜单实现管理WEB服务器.Mysql服务器.Nginx服器等,需要的朋友 ...

  6. "0" 并不一定是 假 (false)

    写习惯C/C++系代码的人应该很习惯看见类似这样的代码: 1 2 3 4 5 int i = 0; ...... if(i){    //这里代码不会被执行 } 因此写习惯以后会想当然地觉得其他语言里 ...

  7. Jigsaw 项目:Java 模块系统新手引导

    前言 随着 2017 年 10 月 Java 9 的发布,Java 能够使用模块系统了,但是中文互联网上的资料太少,许多关于 Java 模块系统的文章都只是介绍了模块系统的好处,或者给了一些毫无组织的 ...

  8. [Python爬虫] 之二十七:Selenium +phantomjs 利用 pyquery抓取今日头条视频

    一.介绍 本例子用Selenium +phantomjs爬取今天头条视频(http://www.tvhome.com/news/)的信息,输入给定关键字抓取图片信息. 给定关键字:视频:融合:电视 二 ...

  9. Android Handler,Loop,HandlerThread消息处理

    博客标题也不知道写什么好,仅仅是近期有时候发现Handler,Loop,HandlerThread非常easy混淆,所以做了简单的笔记处理: 第一种 : 大概的意思给出说明图: watermark/2 ...

  10. Yii2系列教程:安装及Hello World

    http://www.yiiframework.com/ 安装Yii2 打算从头开始,所以,连安装Yii2也稍微写一点吧.安装Yii2最好的方式就是使用composer: composer globa ...