Назад | Перейти на главную страницу

php5cgi продолжает умирать, а nginx дает 502 Bad Gateway

У меня на сервере есть nginx (Ubuntu 11.10). Я создал сценарий ниже в /etc/init.d/php5cgi для запуска / остановки / перезапуска php5-cgi. проблема в том, что php5-cgi время от времени умирает, что заставляет мой веб-сайт (nginx) давать 502 Неверный шлюз (и я не знаю почему !! Было бы очень признательно, если бы кто-нибудь сказал нам, почему php5-cgi вот так умирает).

теперь, как я могу сказать своему серверу, чтобы этот процесс оставался живым вечно, другими словами, чтобы перезапустить его автоматически, если он был остановлен (я, хотя и делал сценарий оболочки и задание cron, чтобы продолжать проверку, но это означает, что веб-сайт может спуститься на минуту [от cron к другому], и это не вариант для нас :().

Любая идея о причине частой остановки php5cgi или о том, как сохранить его вечно, высоко ценится.

Мой /etc/init.d/php5cgi - это

COMMAND=/usr/bin/spawn-fcgi
NAME=php5-cgi
ADDRESS=127.0.0.1
PORT=9000
USER=www-data
GROUP=www-data
PHPCGI=/usr/bin/php5-cgi
KILL=/bin/kill

case "$1" in
    start)
        start-stop-daemon --start \
                --exec $COMMAND -- -a $ADDRESS -p $PORT \
                -u $USER -g $GROUP -f $PHPCGI -P /var/run/$NAME.pid|| true
        echo -n "$NAME started with pid "
        cat /var/run/$NAME.pid
        echo
  ;;
    stop)
        if [ -e /var/run/$NAME.pid ]
        then
                $KILL `cat /var/run/$NAME.pid`
                rm /var/run/$NAME.pid
                echo "$NAME stopped"
        else
                echo "$NAME is not running, no pid file in /var/run/"
        fi
  ;;
    restart)
        $0 stop
        $0 start
  ;;
    *)
      echo "Usage: $0 {start|stop|restart}"
      exit 1
  ;;
esac
exit $RETVAL