sudo apt-get install libapache2-mod-fastcgi a2enmod fastcgi sudo apt-get install libfcgi-dev libfcgi0ldbl
代码fcgi-hello.chtml
#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); } }
编译apache
gcc fcgi-hello.c -o fcgi-hello.fcgi -lfcgi
编辑/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.confcurl
<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端口的监听ide
Listen 80 Listen 8081
启用fcgi-demo站点oop
a2ensite fcgi-demo.conf
重载apacheurl
sudo service apache2 reload
确保防火墙的8081端口是打开的,而后就能够经过浏览器或curl访问这个fastcgi程序了。code