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
#includeint 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
请问一下楼主,这样做的话如果有多个CGI,是不是要占用多个端口了,麻烦楼主帮忙解答一下,发我邮箱,谢谢
端口只有一个。