Nginx+FastCgi的测试

Nginx + Fastcgi配置方法

一、nginx安装&配置

1) apt-get install nginx

2) 修改/etc/nginx/sites-available下的default文件

</pre><pre name="code" class="plain">#设置首页
root /usr/share/nginx/myweb;
index index.html index.htm;

#修改端口
listen 8880 default_server;
listen [::]:8880 default_server ipv6only=on;

#设置fastcgi程序入口
location /mycgi.cgi {
        fastcgi_pass 127.0.0.1:9999;	 -> fastcgi程序监听的端口
        #fastcgi_index mycgi.out;
        include fastcgi_params;
}

二、fastcgi管理器spawn-fcgi的安装

apt-get install spawn-fcgi

三、fcgi库的安装

没有找到官网下载,有些奇怪,临时参照附件。

1)修改include/fcgio.h文件,追加#include <cstdio>

2)./configure

3)./make install

4)  ldconfig /usr/local/lib   (libfcgi.so默认生成路径)

四、编译cgi程序

例子代码如下:

	#include <iostream>
	#include <fcgi_stdio.h>
	#include <stdlib.h>
	#include <sys/types.h>
	#include <unistd.h>

	int main(int argc, char** argv)
	{
	    int count = 0;

	    while( FCGI_Accept() >= 0 )
	    {
	        printf( "Content-type:text/html\r\n\r\n" );
	        printf( "<p> Hello FastCGI !  </ p>" );
	        printf( "<br /> Request number = [%d]", ++count );
	        printf( "<br /> CGI PID: %d ", getpid() );

	    }

	    return 0;
	}

编译

g++ mycgi.c -o mycgi.out -L /usr/local/lib -lfcgi

五、启动cgi

spawn-fcgi -a 127.0.0.1 -p 9999 -f /root/mycgi/mycgi.out -F 3

-F指定启动的cgi进程个数,nginx会轮询访问

访问http://server:8880即可看到cgi程序的输出。

时间: 2024-10-05 15:54:37

Nginx+FastCgi的测试的相关文章

转 Nginx+FastCGI到底是谁影响超时时间

需求: 一个php程序要跑一段时间,但是时间不确定. 问题: 当该php程序运行超过一段时间被强制断开连接. PHP本身超时处理 在 php.ini 中,有一个参数 max_execution_time 可以设置 PHP 脚本的最大执行时间,但是,在 php-cgi(php-fpm) 中,该参数不会起效.真正能够控制 PHP 脚本最大执行时: <value name="request_terminate_timeout">0s</value> 就是说如果是使用

nginx+FastCGI到底是谁影响超时时间

需求: 一个php程序要跑一段时间,但是时间不确定. 问题: 当该php程序运行超过一段时间被强制断开连接. PHP本身超时处理 在 php.ini 中,有一个参数 max_execution_time 可以设置 PHP 脚本的最大执行时间,但是,在 php-cgi(php-fpm) 中,该参数不会起效.真正能够控制 PHP 脚本最大执行时: <value name="request_terminate_timeout">0s</value> 就是说如果是使用

记录一次自己对nginx+fastcgi(fpm)+mysql压力测试结果

nginx + fastcgi(fpm) 压力测试: CentOS release 5.9 16核12G内存 静态页面: 并发1000,压测200秒,测试结果: 系统最大负载5.47 成功响应: 2563065, 502:0, 失败:0 PHP页面(对mysql进行一次带索引的查询,数据库记录500条): 并发1000,压测200秒,测试结果: 系统最大负载15.66 成功响应: 114368, 502:712, 失败:58715 并发200,压测200秒,测试结果: 系统最大负载25.81 成

【入门篇】Nginx + FastCGI 程序(C/C++) 搭建高性能web service的Demo及部署发布

http://blog.csdn.net/allenlinrui/article/details/19419721 1.介绍 Nginx - 高性能web server,这个不用多说了,大家都知道. FastCGI程序 - 常驻型CGI程序,它是语言无关的.可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能. Nginx要调用FastCGI程序,需要用到FastCGI进程管理程序(因为nginx不能直接执行外部的cgi程序,我们可使用lighttpd中的s

nginx+fastcgi+c/cpp

参考:http://github.tiankonguse.com/blog/2015/01/19/cgi-nginx-three/ 跟着做了一遍,然后根据记忆写的,不清楚有没错漏步骤,希望多多评论多多交流... 搭建环境 安装:nginx.spawn-fcgi.fastcgi.fcgiwrap nginx sudo apt-get install nginx-full spawn-fcgi git clone https://github.com/lighttpd/spawn-fcgi.git.

[转] nginx+FastCGI+c++

from: http://www.cnblogs.com/xiaouisme/archive/2012/08/01/2618398.html 一 安装 目的:不需支持php等.就html就行了.步骤:下载这些东西:Lenovo:~/下载/download4nginx$ ls md5-1.3.0.tgz openssl-1.0.1c.tar.gz zlib-1.2.7.tar.gznginx-1.3.4.tar.gz pcre-8.31.tar.gz 解压缩nginx-1.3.4.tar.gz到~

Nginx+FastCGI配置

安装过程中参考:张宴 http://blog.s135.com/nginx_php_v5/nginx对我来说是一个新的内容,安装的包比较多,在经过了一段时间对nginx的了解之后,才真正的配置成功,本文在经过第二轮的nginx配置学习过程中,不断的完善,不断的理解.对以后再次配置是一个很好的总结. 1.1 nginx概述nginx简介Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/P

Nginx FastCGI的运行原理

一.FastCGI 1.介绍 CGI全称通用网关接口 Commmon Gateway Interface 用于HTTP服务上的程序服务通信交流的一种工具,CGI程序须运行在网络服务器上. 传统CGI接口方式性能较差,由于每次HTTP服务器遇到动态程序需要重启解析器来执行解析,然后结果被返回给HTTP服务器.这在处理高并发时,几乎是不可能的,因此诞生了FastCGI.另外传统的CGI接口方式安全性也很差 一个可伸缩地.高速地在HTTP服务器和动态脚本语言间通信的接口 接口在linux下是socke

nginx FastCGI中的概念区分

之前总没有把FastCGI的概念理解的很清楚,看到一段话,感觉说的很清楚了. nginx是支持fastcgi的.然而我们需要下一个fastcgi进程管理器,启动它才能执行fastcgi程序.(这里有几个概念要搞清楚:nginx是nginx,fastcgi是fastcgi,前者支持后者,但是前者本身没有集成后者(/的功能).对于ngingx,我们要配置conf.nginx来设置如何支持fastcgi.而对于fastcgi,我们写的fastcgi程序需要一个调度者:fastcgi进程管理器. 其实也