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)编译
[root@cb24f769838b 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.”链接到静态库,而非共享库。
[root@cb24f769838b cgi-bin]# gcc fcgi_test2.c -o fcgi_test2.fcgi -I/etc/fcgi/include /usr/local/lib/libfcgi.a

4)查看关联链接
[root@cb24f769838b 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)程序运行结果如下
[root@cb24f769838b 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)浏览器运行结果如下:
这里写图片描述

5、常见出错:

FastCGI: can’t create server “/var/www/fcgi/groundService.fcgi”: bind() failed [/etc/httpd/runtimedir/fastcgi/d2f3a2fea2f2f1b44954766d53644c3c]
解决方案:
修改配置:
586 #FastCgiIpcDir runtimedir/fastcgi
587 FastCgiIpcDir /tmp/fastcgi
第586行改为587行。

6、fastcgi部署参考

https://www.sympa.org/faq/fastcgi

作者:铭毅天下
转载请标明出处,原文地址:http://blog.csdn.net/laoyang360/article/details/50672621
如果感觉本文对您有帮助,请点击‘顶’支持一下,您的支持是我坚持写作最大的动力,谢谢!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
CentOS是一种基于Linux的免费和开放源代码操作系统,CentOS 7.4是CentOS版本的一个特定版本。在这个版本上安装CentOS 7.4的步骤如下: 1. 准备安装介质:从CentOS官方网站下载最新的CentOS 7.4 ISO文件,并将其写入一个可启动的光盘或USB驱动器。 2. 确保你的物理机满足最低硬件要求:至少2GB的RAM和20GB的可用硬盘空间,支持64位操作系统的处理器。 3. 将安装介质插入物理机的光驱或将USB驱动器连接到物理机上。 4. 启动物理机,并从安装介质启动。可以通过进入BIOS设置,选择从光驱或USB驱动器启动。 5. 在启动菜单中选择“Install CentOS 7”并按下回车键。系统将加载安装程序。 6. 在安装程序的语言选择界面上选择你想要使用的语言,并点击“Continue”按钮。 7. 在安装选项界面上,选择“Installation Destination”选项。确保正确的磁盘被选中,并点击“Done”按钮。 8. 在网络和主机名界面上,配置网络设置并选择一个主机名,然后点击“Apply”按钮。 9. 在“Software Selection”界面上选择你想要安装的软件包组。例如,选择“Server with GUI”来安装包含图形用户界面的服务器软件包。 10. 在安装界面上的“Begin Installation”按钮上点击,以开始安装过程。你可以在左侧的导航栏上查看安装的进度。 11. 完成安装后,系统将提示你进行重启。点击“Reboot”按钮,将物理机重新启动。 12. 在重启后,系统会要求你创建一个新的用户并设置密码。完成后,你将能够登录到CentOS 7.4系统。 以上是CentOS 7.4的详细安装过程。安装期间可能需要进行一些其他的配置和设置,具体取决于你的需求和环境。希望这个回答能够对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铭毅天下

和你一起,死磕Elastic!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值