当前位置:首页 > 开发 > 系统架构 > Apache > 正文

Apache2 FastCGI C Demo

发表于: 2015-11-13   作者:互联网   来源:转载   浏览:
摘要: 安装依赖 sudo apt-get install libapache2-mod-fastcgi a2enmod fastcgi sudo apt-get install libfcgi-dev libfcgi0ldbl   编写FCGI代码 代码fcgi-hello.c #include "fcgi_stdio.h" /* fcgi library

安装依赖

sudo apt-get install libapache2-mod-fastcgi

a2enmod fastcgi

sudo apt-get install libfcgi-dev libfcgi0ldbl

 

编写FCGI代码

代码fcgi-hello.c

#include "fcgi_stdio.h" /* fcgi library; put it first*/

#include <stdlib.h>



int count;



void initialize(void)

{

  count=0;

}



void main(void)

{

/* Initialization. */  

  initialize();



/* Response loop. */

  while (FCGI_Accept() >= 0)   {

    char *host = getenv("SERVER_HOSTNAME");

    printf("Content-type: text/html\r\n"

           "\r\n"

           "<title>FastCGI Hello! (C, fcgi_stdio library)</title>"

           "<h1>FastCGI Hello! (C, fcgi_stdio library)</h1>"

           "Request number %d running on host <i>%s</i>\n",

            ++count, (host == NULL)?"unknow":host);

  }

}

编译

gcc fcgi-hello.c -o fcgi-hello.fcgi -lfcgi

 

配置Apache

编辑/etc/apache2/mods-available/fastcig.conf, 在AddHandler处添加.fcgi

<IfModule mod_fastcgi.c>

  AddHandler fastcgi-script .fcgi

  FastCgiIpcDir /var/lib/apache2/fastcgi

</IfModule>

编辑/etc/apache2/sites-available/fcgi-demo.conf

<VirtualHost *:8081>

    ServerName localhost

    ServerAdmin you@local.com

    DocumentRoot /var/www

    ErrorLog /var/log/apache2/error.log

    CustomLog /var/log/apache2/access.log combined

    ServerSignature Off



    <IfModule mod_fastcgi.c>

        <Directory /var/www>

            Options +ExecCGI

            AllowOverride All

            SetHandler fastcgi-script

            Order allow,deny

            Allow from all

            AuthBasicAuthoritative Off

        </Directory>

    </IfModule>

</VirtualHost>

编辑/etc/apache2/ports.conf,添加8081端口的监听

Listen 80

Listen 8081

启用fcgi-demo站点

a2ensite fcgi-demo.conf

重载apache

sudo service apache2 reload

确保防火墙的8081端口是打开的,然后就可以通过浏览器或curl访问这个fastcgi程序了。

Apache2 FastCGI C Demo

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号