##安装 首先安装webserver,这里安装nginx;

##cgi安装 安装了以下套件:

 [IP-] [  ] dev-perl/FCGI-0.740.0:0
 [IP-] [  ] dev-libs/fcgi-2.4.1_pre0910052249:0
 [IP-] [  ] www-misc/fcgiwrap-1.0.3-r1:0
 [IP-] [  ] www-servers/spawn-fcgi-1.6.3-r1:0

##配置 根据arch,这里可以看到spawn-fcgi调用cgiwrap的操作方法如下:

spawn-fcgi -a 127.0.0.1 -p 9000 -f /usr/sbin/fcgiwrap

按上面的理解,spawn-fcgi是一个管理,类是fpm的一个专门管理spawn的程序。 fcgiwrap是一个公共接口,类是FCGI的东西。 而dev-perl/FCGI则提供了perl的解析,作为FGCI的接口使用。

##设置自动启动 spawn-fcgi本身不能启动CGI,但可以调用fcgi,所以根据arch的方法,可以使用init.d来自动调用;

kk@gentoo /etc/init.d $ sudo ln -s spawn-fcgi spawn-fcgi.fcgiwrap

kk@gentoo /etc/init.d $ sudo /etc/init.d/spawn-fcgi.fcgiwrap start
* Caching service dependencies ...                                     [ ok ]
* Starting FastCGI application fcgiwrap ...
spawn-fcgi: child spawned successfully: PID: 2842                      [ ok ]

kk@gentoo /etc/init.d $ sudo rc-update add spawn-fcgi.fcgiwrap default
* service spawn-fcgi.fcgiwrap added to runlevel default

然后根据刚刚的配置,我修改了/etc/conf.d/spawn-fcgi文件,如下

kk@gentoo ~ $ grep "^[^#]" /etc/conf.d/spawn-fcgi
FCGI_SOCKET=
FCGI_ADDRESS=127.0.0.1
FCGI_PORT=9000
FCGI_PROGRAM=/usr/sbin/fcgiwrap
FCGI_CHILDREN=1
FCGI_CHROOT=
FCGI_CHDIR=
FCGI_USER=nginx
FCGI_GROUP=nginx
ALLOWED_ENV="PATH"