A,安装apache服务器和fastcgi模块支持(ubuntu测试)

sudo apt-get install apache2
sudo apt-get install libapache2-mod-fastcgi

apache2的配置文件目录如下:

ciaos@ubuntu:/etc/apache2$ ll
total 80
drwxr-xr-x 7 root root 4096 May 28 21:33 ./
drwxr-xr-x 93 root root 4096 May 28 21:44 ../
-rw-r--r-- 1 root root 8346 Feb 7 2012 apache2.conf
drwxr-xr-x 2 root root 4096 May 28 21:32 conf.d/
-rw-r--r-- 1 root root 1322 Feb 7 2012 envvars
-rw-r--r-- 1 root root 0 May 28 21:32 httpd.conf
-rw-r--r-- 1 root root 31063 Feb 7 2012 magic
drwxr-xr-x 2 root root 4096 May 28 21:36 mods-available/
drwxr-xr-x 2 root root 4096 May 28 21:36 mods-enabled/
-rw-r--r-- 1 root root 750 Feb 7 2012 ports.conf
drwxr-xr-x 2 root root 4096 May 28 21:58 sites-available/
drwxr-xr-x 2 root root 4096 May 28 21:58 sites-enabled/

配置fastcgi目录,只需要修改sites-enabled/000-default文件添加fastcgi的目录结构

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory> ScriptAlias /fcgi-bin/ /var/lib/apache2/fastcgi/
<Directory "/var/lib/apache2/fastcgi">
AllowOverride None
Options FollowSymLinks
Order allow,deny
Allow from all
SetHandler fastcgi-script
</Directory>

重启apache服务器如下:

sudo apachectl -k restart

B,接下来写fastcgi程序测试(用C来测试)

1,安装fastcgi库
make的时候如果出现“error: 'EOF' was not declared in this scope”错误,则在出错文件加上#include <stdio.h>

2,编辑个简单的fastcgi程序

#include <fcgi_stdio.h>

int main()
{
int count = ;
while(FCGI_Accept() >= ) {
printf("Content-type: text/html\r\n");
printf("\r\n");
printf("Hello world!<br>\r\n");
printf("Request number %d.", count++);
}
return ;
}

3,编译并放到apache的cgi和fcgi目录下测试

gcc sim.c -lfcgi -o test.cgi
cp test.cgi /usr/lib/cgi-bin/
访问 http://192.168.1.108/cgi-bin/test.cgi , 每次打印Request number都是0 gcc sim.c -lfcgi -o test.fcgi
cp test.fcgi /var/lib/apache2/fastcgi/
访问 http://192.168.1.108/cgi-bin/test.fcgi , 每次打印Request number都会递增

:如果ldd找不到依赖库,三种方法如下
1,export LD_LIBRARY_PATH=/usr/local/lib/
2,直接把so文件拷贝到/lib/目录下,这个目录一般都是
3,/etc/ld.so.conf添加响应目录, /sbin/ldconfig –v更新

apache添加fastcgi支持的更多相关文章

  1. apache添加php支持

    在php编译安装好后,需要在apache中添加对php的支持,方法:找到“#AddType application/x-gzip .gz .tgz”并在后面加入AddType application/ ...

  2. Apache添加ssl支持

    安装证书文件说明:1. 证书文件xxx.pem,包含两段内容,请不要删除任何一段内容.2. 如果是证书系统创建的CSR,还包含:证书私钥文件xxx.key.证书公钥文件public.pem.证书链文件 ...

  3. ubuntu下apache添加https支持

    http是无状态,不安全的连接.而https是通过ssl加密的http连接,可靠性更强. 确保openssl安装完成,用openssl来产生和签署证书,可以自己签署,但是不安全,建议用证书机构颁发的证 ...

  4. linux后台server开发环境的部署配置和验证(nginx+apache+php-fpm+FASTCGI(C/C++))

    linux后台server开发环境部署配置 引言 背景 随着互联网业务的不断增多.开发环境变得越来越复杂,为了便于统一server端的开发部署环境,特制定本配置文档. 使用软件 CentOS 6.3( ...

  5. Spring Boot 添加Shiro支持

    前言: Shiro是一个权限.会话管理的开源Java安全框架:Spring Boot集成Shiro后可以方便的使用Session: 工程概述: (工程结构图) 一.建立Spring Boot工程 参照 ...

  6. 配置apache以fastcgi运行php

    apache默认是用自带的mod_php模块运行php,现在我们介绍使用fastcgi来执行php脚本.先说下fastcgi的优点: Fastcgi的优点: 从稳定性上看, fastcgi是以独立的进 ...

  7. 使用Spring Boot开发Web项目(二)之添加HTTPS支持

    上篇博客使用Spring Boot开发Web项目我们简单介绍了使用如何使用Spring Boot创建一个使用了Thymeleaf模板引擎的Web项目,当然这还远远不够.今天我们再来看看如何给我们的We ...

  8. 手动添加SSH支持、使用c3p0

    之前做的笔记,现在整理一下:大家有耐心的跟着做就能成功: SSH(struts2.spring.hibernate) *  struts2      *  充当mvc的角色 *  hibernate ...

  9. Spring Boot 添加JSP支持【转】

    Spring Boot 添加JSP支持 大体步骤: (1)            创建Maven web project: (2)            在pom.xml文件添加依赖: (3)     ...

随机推荐

  1. VS2013无法链接到TFS (转)

    VS2013无法链接到TFS(Visual studio online),错误TF31001,TF31002   TF31002: Unable to connect to VisualStudio ...

  2. C++_基础_C与C++的区别2

    内容: (1)C++中的函数 (2)动态内存 (3)引用 (4)类型转换 (5)C++社区对C程序员的建议 1.C++中的函数1.1 函数的重载(1)重载的概念 在同一个作用域中,函数名相同,函数的参 ...

  3. php 解析xml 的四种方法(转)

    XML处理是开发过程中经常遇到的,PHP对其也有很丰富的支持,本文只是对其中某几种解析技术做简要说明,包括:Xml parser, SimpleXML, XMLReader, DOMDocument. ...

  4. php基础知识--文件操作

    文件操作 文件 广义角度: 任何一个在磁盘上可以看到的符号(包含真正的文件及文件夹) 狭义角度: 真实存储数据的载体(不包含文件夹, 如doc文件,txt文件等) 文件操作: 对文件的增删改查 文件分 ...

  5. software testing homework2

    一.Checkstyle安装及使用 1.checkstyle插件包:http://sourceforge.net/projects/eclipse-cs/ checkstyle.xml配置文件:htt ...

  6. 阿里云服务器linux(centos)常用命令

    系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS ...

  7. ubantu root 默认密码

    安装完Ubuntu后忽然意识到没有设置root密码,不知道密码自然就无法进入根用户下.到网上搜了一下,原来是这麽回事.Ubuntu的默认root密码是随机的,即每次开机都有一个新的root密码.我们可 ...

  8. php执行shell更新svn文件的方法

    vim /etc/sudoers 修改内容如下: #Defaults !visiblepw Defaults visiblepw #Defaults requiretty <?php set_t ...

  9. openstack windows 2008 img

    1,制作镜像主机pre Env yum -y install qemu-img virt-install libvirt 2,配置bridge

  10. java 动态获取web应用的部署路径

    public static String DEPLOY_PATH = null; static { String CurrentClassFilePath = Constant.class.getRe ...