1. 下载fastcgi开发包,编译安装

http://www.fastcgi.com/dist/fcgi-current.tar.gz

wget http://www.fastcgi.com/dist/fcgi-current.tar.gz
tar zvzf fcgi-current.tar.gz
cd fcgi-current
./configure
make
make install

2. 下载spawn-fcgi,编译安装

http://www.lighttpd.net/download/spawn-fcgi-1.6.0.tar.gz

wget http://www.lighttpd.net/download/spawn-fcgi-1.6.0.tar.gz
tar zxvf spawn-fcgi-1.6.0.tar.gz
cd spawn-fcgi-1.6.0
./configure
make
make install

3. 编写测试的c fastcgi代码,存为 hello.c

#include 
int main( int argc, char *argv[] )
{
    while( FCGI_Accept() >= 0 ) {
        printf( "Content-Type: text/plain\n\n" );
        printf( "Hello FastCGI\n" );
    }
    return 0;
}

编译c源文件,运行时有可能会报找不到lib包,这里我复制了一份,也可以做一个软链接。我这里用的是64位的机器,所以复制到了:/usr/lib64,32位的用:/usr/lib。

gcc -o hello hello.c -lfcgi

4. 修改nginx.conf配置文件,重新启动nginx

server {
            listen   80;
            server_name _;

            location / {
                  root   /home/user/www;
                  index  index.html;
                  fastcgi_pass 127.0.0.1:9000;
            }
}

5. 启动hello

spawn-fcgi -a127.0.0.1 -p9000 -n ./hello

6. 访问nginx服务器,浏览器就会输出:Hello FastCGI

一个nginx c fastcgi学习环境搭建完毕。

fastcgi 开发学习资料:

FastCGI中文参考手册
http://man.lupaworld.com/content/develop/Perl/FastCGI_handbook_cn.pdf

Nginx下配置FastCGI
http://202.108.59.116/docs/Nginx%CF%C2%C5%E4%D6%C3FastCGI.pdf

2 Replies to “FastCGI开发学习

  1. lincoln

    请问一下楼主,这样做的话如果有多个CGI,是不是要占用多个端口了,麻烦楼主帮忙解答一下,发我邮箱,谢谢

发表评论

电子邮件地址不会被公开。 必填项已用*标注