如何:安装与配置nginx下的php-cgi

安装nginx

# cd /usr/ports/www/nginx
# make install clean

弹出config窗口,选择你需要的模块安装,安装成功后可以执行

echo 'nginx_enable="YES"' >> /etc/rc.conf

安装php的fastcgi

在config窗口中去掉安装成apache的模块,以及选择支持fastcgi

安装spawn-fcgi

spawn-fcgi 可以通过安装lighttpd来安装

# pkg_add -r -v lighttpd

注: 如果你不想要 lighttpd ,可以把 /usr/local/bin/spawn-fcgi 拷贝到另外一个目录,然后删除lighttpd,再把此文件拷贝回来

# cp /usr/local/bin/spawn-fcgi /root/spawn-fcgi
# pkg_delete -v lighttpd-1.4.18_1
# cp /root/spawn-fcgi /usr/local/bin/spawn-fcgi

启动服务

启动nginx

# /usr/local/etc/rc.d/nginx start

启动php的fastcgi模式

# /usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www -g www -f /usr/local/bin/php-cgi

参数说明: a 127.0.0.1 : php-fcgi所绑定的web服务器ip

p 9000: nginx连接spawn-fcgi的端口.

u www : 用户名.

g www : 用户组.

f /usr/local/bin/php-cgi : php-cgi路径

启动php(fastcgi)的shell

#!/bin/sh
PROVIDES=php-cgi
LIGHTTPD_FCGI=/usr/local/bin/spawn-fcgi
SERVER_IP=127.0.0.1
SERVER_PORT=9000
SERVER_USER=www
SERVER_GROUP=www
PHP_CGI=/usr/local/bin/php-cgi
PGREP=/bin/pgrep
KILLALL=/usr/bin/killall
### No editing below ####
cmd=$1
 
pcgi_start(){
  	echo "Starting $PROVIDES..."
 	$LIGHTTPD_FCGI -a $SERVER_IP -p $SERVER_PORT -u $SERVER_USER -g $SERVER_GROUP -f $PHP_CGI
}
 
pcgi_stop(){
	echo "Killing $PROVIDES..."
	$KILLALL $PROVIDES
}
 
pcgi_restart(){
	pcgi_stop
	pcgi_start
}
 
pcgi_status(){
        $PGREP $PROVIDES > /dev/null
	[ $? -eq 0  ] && echo "$PROVIDES running" || echo "$PROVIDES NOT running" 
 
}
 
pcgi_help(){
  	echo "Usage: $0 {start|stop|restart|status}"
}
 
case ${cmd} in
[Ss][Tt][Aa][Rr][Tt]) pcgi_start;;
[Ss][Tt][Oo][Pp]) pcgi_stop;;
[Rr][Ee][Ss][Tt][Aa][Rr][Tt]) pcgi_restart;;
[Ss][Tt][Aa][Tt][Uu][Ss]) pcgi_status ;;
*)      pcgi_help ;;
esac

把文件保存到 /usr/loca/etc/rc.d 下面即可

 
/usr/local/www/dokuwiki/data/pages/howto/n/php_fastcgi_nginx.txt · 最后更改: 2008/12/16 09:21 由 delphij
 
除额外注明的地方外,本维基上的内容按下列许可协议发布:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki