將php5-fcgi加入自啟動
阿新 • • 發佈:2018-12-23
2010-09-28
周海漢 2010.9.28
在個人開發中,php fastcgi可以手工啟動。但伺服器中必須自啟動。 編寫指令碼,將其放到init.d中。
[email protected]:~$ cat /etc/init.d/php-fastcgi #!/bin/bash #php-fastcgi #zhouhh #2010.9.28 case "$1" in start) spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi ;; stop) killall -9 php5-cgi ;; restart) killall -9 php5-cgi spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi ;; esac
或者用start-stop-daemon. 下面的指令碼參考http://tomasz.sterna.tv/2009/04/php-fastcgi-with-nginx-on-ubuntu/ fastcgi的兩個引數PHP_FCGI_CHILDREN, PHP_FCGI_MAX_REQUESTS,前者表示啟動多少子程序,後者表示每個程序處理的最大請求。這是fastcgi的兩個重要引數。
#!/bin/bash
BIND=127.0.0.1:9000
USER=www-data
PHP_FCGI_CHILDREN=15
PHP_FCGI_MAX_REQUESTS=1000
PHP_CGI=/usr/bin/php-cgi
PHP_CGI_NAME =`basename $PHP_CGI`
PHP_CGI_ARGS="- USER=$USER PATH=/usr/bin PHP_FCGI_CHILDREN=$PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS=$PHP_FCGI_MAX_REQUESTS$PHP_CGI -b $BIND"
RETVAL=0
start() {
echo -n "Starting PHP FastCGI: "
start-stop-daemon --quiet --start --background --chuid "$USER" --exec /usr/bin/env -- $PHP_CGI_ARGS
RETVAL=$?
echo "$PHP_CGI_NAME."
}
stop() {
echo -n "Stopping PHP FastCGI: "
killall -q -w -u $USER $PHP_CGI
RETVAL=$?
echo "$PHP_CGI_NAME."
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage: php-fastcgi {start|stop|restart}"
exit 1
;;
esac
exit $RETVAL
將這兩個指令碼之一存為php-fastcgi. 修改為可執行許可權, 然後加入自啟動:
update-rc.d php-fastcgi default
這樣系統重啟後,依然可以通過nginx提供php的web服務。
如非註明轉載, 均為原創. 本站遵循知識共享CC協議,轉載請註明來源