在nginx中启动fastcgi错误

我得到这个错误:

启动服务:spawn-fcgi:绑定失败:地址已经在使用中

运行这个命令时:

/etc/init.d/phpfcgi start

有人可以给我任何想法如何解决它?

这是我的CGI脚本:

#!/bin/bash # # Startup script for the PHP FastCGI server. # # chkconfig: 345 85 15 # description: PHP is an HTML-embedded scripting language # processname: php # config: /etc/php.ini # Source function library. . /etc/rc.d/init.d/functions SPAWNFCGI="/usr/bin/spawn-fcgi" PHPFCGI="/usr/bin/php-cgi" FCGIPORT="9000" FCGIADDR="127.0.0.1" PHP_FCGI_CHILDREN=5 PHP_FCGI_MAX_REQUESTS=1000 ALLOWED_ENV="PATH USER" USER=nginx GROUP=nginx #PHPUSER=php PIDFILE=/var/run/phpfcgi.pid if [ -z "$PHP_FCGI_CHILDREN" ]; then PHP_FCGI_CHILDREN=5 fi ALLOWED_ENV="$ALLOWED_ENV PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS FCGI_WEB_SERVER_ADDRS" case "$1" in start) PHPFCGI_START=$"Starting ${NAME} service: " echo -n $PHPFCGI_START # check for $PHPUSER, create if non-existent if [ -z "`id -u $PHPUSER 2> /dev/null`" ]; then useradd -s /sbin/nologin $PHPUSER fi # clean environment E= for i in $ALLOWED_ENV; do E="$E $i=${!i}"; done #daemon --user $PHPUSER --pidfile $PIDFILE "env - $E $PHPFCGI -q -b $FCGIADDR:$FCGIPORT &> /dev/null &" daemon $SPAWNFCGI -a ${FCGIADDR} -p ${FCGIPORT} -u ${USER} -g ${GROUP} -P ${PIDFILE} -C ${PHP_FCGI_CHILDREN} -f ${PHPFCGI} retval=$? #pid=`pidof php-cgi` #if [ -n "$pid" ]; then # echo $pid > $PIDFILE # success $PHPFCGI_START #else # failure $PHPFCGI_START #fi #echo ;; stop) echo -n "Stopping php-fcgi: " killproc -p $PIDFILE phpfcgi echo ;; status) status phpfcgi ;; restart) $0 stop $0 start ;; *) echo "Usage: $0 {start|stop|status|restart}" exit 1 esac exit 0 

“已经使用的地址”意味着你有另一个已经拥有套接字的进程。

您可以使用(以root身份)使用netstat来识别其PID:

 netstat -tpan |grep "LISTEN"|grep :9000 

最后一列给你PID / 进程名称 。 只要做一个kill -9 PID