跟随一些很好的说明我几乎已经完成了在 nginx 上运行 PHP 的设置。但是,每次我尝试启动 spawn-fcgi 时都会收到错误消息
demo@desktop:/usr/bin$ sudo /etc/init.d/php-fastcgi start
spawn-fcgi: bind failed: Cannot assign requested address
我的 /etc/init.d/php-fastcgi 启动脚本是:
#!/bin/bash
PHP_SCRIPT=/usr/bin/php-fastcgi
FASTCGI_USER=demo
RETVAL=0
case "$1" in
start)
su - $FASTCGI_USER -c $PHP_SCRIPT
RETVAL=$?
;;
stop)
killall -9 php5-cgi
RETVAL=$?
;;
restart)
killall -9 php5-cgi
su - $FASTCGI_USER -c $PHP_SCRIPT
RETVAL=$?
;;
*)
echo "Usage: php-fastcgi {start|stop|restart}"
exit 1
;;
esac
exit $RETVAL
console output
加载 /usr/bin/php-fastcgi
#!/bin/sh
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 6 -u demo -f /usr/bin/php5-cgi
需要注意的一点是,我以用户“demo”(我的帐户)的身份运行 PHP cgi。
更新
我手动运行了 spawn-fcgi 命令,它成功了。奇怪...
sudo /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 6 -u demo -f /usr/bin/php5-cgi
答案1
是否有其他程序正在监听端口 9000?
netstat -tnap | grep LIST | grep 9000
另一方面,我建议 strace 启动脚本来检查系统调用:
sudo strace -f -o strace.output /etc/init.d/php-fastcgi start
然后看一下文件strace.output
,特别是最后几行。strace
总是能很好地“启发”方式。
希望这可以帮助。