Centos 安装fastcgi详解与用例

1、fastcgi简介

fastcgi解决了cgi程序处理请求每次都要初始化和结束造成的性能问题。fastcgi并且是独立于webserver的,fastcgi的crash并不影响webserver,然后他们之间通过soket通信。与fastcgi不同的另一种解决cgi程序反复创建,销毁的方法是让webserver开放api,然后编写cgi的时候,把cgi嵌入到webserver中,这样有个不好的地方就是cgi的crash会影响到webserver。

支持fastcgi的服务器有很多比如,nginx IIS什么的。他们都是把http请求转换为stdin和一些环境变量传递给fastcgi程序,然后返回stdout。编写fastcgi程序最终要的一个api就是int FCGI_Accept(void);当一个请求被送达的时候返回。

2、fastcgi安装步骤:

step1:

下载地址:http://www.fastcgi.com/drupal/node/5 点击Current: download | docs | browse 中的download链接即可。

step2:

tar -zxvf fcgi.tar.gz

cd fcgi-2.4.1-SNAP-0311112127/

./configure –prefix=/etc/fcgi

make && make install

出现fcgio.cpp:50: error: ‘EOF’ was not declared in this scope的话只需要 在/include/fcgio.h文件中加上 #include

到此就安装完了。

3、编写并测试fcgi程序

1)Demo测试程序fcgi_test2.c如下:

#include "fcgi_stdio.h"
#include <stdlib.h>

int main(void)
{
int count = 0;
while(FCGI_Accept() >= 0)
{
printf("Content-type: text/html\r\n"
"\r\n"
"<title>FastCGI Hello!</title>"
"<h1>FastCGI Hello!</h1>"
"Request number %d running on host <i>%s</i>\n",
++count, getenv("SERVER_NAME"));
}
return 0;
}

2)编译

[[email protected] cgi-bin]# gcc -g fcgi_test2.c -o fcgi_test2.fcgi -lfcgi

//此时直接运行 fcgi_test2.fcgi 会报如下错:

error while loading shared libraries: libfcgi.so.0:

3)链接库错误解决方案:

参考:https://www.apachelounge.com/viewtopic.php?p=8160

方案核心——“Link echo with the static library, libfcgi.a, instead of the shared library.”链接到静态库,而非共享库。

[[email protected] cgi-bin]# gcc fcgi_test2.c -o fcgi_test2.fcgi -I/etc/fcgi/include /usr/local/lib/libfcgi.a

4)查看关联链接

[[email protected] cgi-bin]# ldd fcgi_test2.fcgi

linux-vdso.so.1 => (0x00007fff7fdc3000)

libc.so.6 => /lib64/libc.so.6 (0x00007fa0229ed000)

/lib64/ld-linux-x86-64.so.2 (0x00007fa022d86000)

4、正确运行结果如下

1)程序运行结果如下

[[email protected] cgi-bin]# ./fcgi_test2.fcgi

Content-type: text/html

<title>FastCGI Hello!</title><h1>FastCGI Hello!</h1>Request number 1 running on host <i>(null)</i>

2)浏览器运行结果如下:

时间: 2024-10-18 06:47:48

Centos 安装fastcgi详解与用例的相关文章

CentOS安装流程详解

对于刚刚接触Linux的人们来说,遇到的第一个问题便是如何快速安装一个Linux系统.我初次接触 Linux时也是摸索许久才安装成功.鉴于此,今天就给大家带来完整详细的Linux安装过程. 一.准备安装所需的软件 1.VMwareWorkstations 12 2.CentOS 7系列镜像文件,可在官方站点https://www.centos.org上下载.在浏览器搜索栏输入官方站点地址,点击"GET  CENTOS "在点击"Everything ISO"跳转到镜

转载:centos安装gitlab详解

原文地址:http://blog.csdn.net/jiangtao_st/article/details/73612298 一, 服务器快速搭建gitlab方法 可以参考gitlab中文社区 的教程centos7安装gitlab:https://www.gitlab.cc/downloads/#centos7centos6安装gitlab:https://www.gitlab.cc/downloads/#centos6如下方法按照官网来操作,手工安装过于麻烦.当前测试平台为小鸟云的三个月cen

CentOs之yum详解及程序的编译安装

CentOs之yum详解 yum的地位:yum是rpm的前端管理工具,而且依赖于rpm.  yum仓库:yum repository,仓库里存储了众多rpm包,以及包的相关的元数据文件.yum仓库里会有个repodata目录存在. yum支持的文件服务器类型: ftp://  http:// file:///(本地服务器,例光盘)   /nfs:// 查看yum的信息: [[email protected]]# rpm -q yum ------查看yum命令的安装包是哪个 yum-3.4.3-

centOS下安装tomcat详解

本人是用的vmware上安装的centOS系统. 先去apache的tomcat官网上下载下来所需要的文件,网址为http://tomcat.apache.org/download-70.cgi 点击tar.gz下载就可以. 接着把下载下来的tomcat拖到虚拟机中的centOS的目录下,我拖到的是/home/449261417/下载 这个目录中. 接着打开终端开始敲命令 tar -zxvf apache-tomcat-7.0.54.tar.gz(解压下载下来的tar包) mv tomcat-7

虚拟机 CentOS 7安装步骤详解

VMware workstation 14 安装步骤详解1.下载VMware workstation 14(本人使用的此软件目前最新版本VMware workstation 14版本) 附下载地址:http://rj.baidu.com/soft/detail/13808.html?ald2.点击进行安装.之后点击下一步.同意协议.3.此处点击更改安装路径,路径更改到一个硬盘空间较充裕的磁盘中,我这里选择安装在D盘,点击确定按钮.4.点击下一步继续安装.5.用户体验设置中的:启动时检查产品更新和

Android SDK离线安装方法详解(加速安装)

AndroidSDK在国内下载一直很慢··有时候通宵都下不了一点点,最后只有选择离线安装,现在发出离线安装地址和方法,希望对大家有帮助 一,首先下载SDK的安装包,android-sdk_r10-windows.zip(安装工具)解压到目录,如我的目录D:\programs\android-sdk-windows 下载地址:http://dl.google.com/android/android-sdk_r10-windows.zip(目前最新版) 二,然后新建以下 几个文件夹 platform

CentOS开机流程详解

CentOS开机流程详解 一.linux开机流程: BIOS:(Basic Input Output System)基本输入输出系统,它是一组固化到计算机内主板上一个ROM芯片 上的程序,保存着计算机最重要的基本输入输出的程序.开机后自检程序和系统自启动程序,可从CMOS中读写系统设置的具体信息. MBR:Master Boot Record,主要引导记录区. Boot Loader:启动引导程序. 二.详细流程 第一步:加载BIOS 打开计算机电源,计算机硬件会自动加载BIOS,读取BIOS内

linux PHP 编译安装参数详解

linux PHP 编译安装参数详解 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-

yum在线安装tomcat6 详解

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器.Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun 和其他一些公司及个人共同开发而成.由于有了Sun 的参与和支持,最新的Servlet 和JSP规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范.因为Tomcat 技术先进.性能稳定,而且免费,因而深受Java 爱好