недопустимый шлюз nginx 502 - fastcgi, не слушая? (Debian 5)

Запустите на VPS, разместите его через свое собственное доменное имя. Если это взлетает, и можно получить немного денег от него, Вы могли бы переместить его в специализированное поле, то ферма сервера, затем принять мир. Возможно, не последний шаг, хотя - я только к шагу 2 ;)

4
задан 12 March 2010 в 11:21
3 ответа

На моем сервере я использую nginx+fcgi также.

Мое решение не является надежным, но по крайней мере работает. У меня есть этот сценарий, который использует икру-fcgi и php5-cgi под/etc/init.d/

#!/bin/bash
PHP_SCRIPT='/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -f /usr/bin/php5-cgi'
RETVAL=0
case "$1" in
    start)
      $PHP_SCRIPT
      RETVAL=$?
  ;;
    stop)
      killall -9 php5-cgi
      RETVAL=$?
  ;;
    restart)
      killall -9 php5-cgi
      $PHP_SCRIPT
      RETVAL=$?
  ;;
    *)
      echo "Usage: php-fastcgi {start|stop|restart}"
      exit 1
  ;;
esac
exit $RETVAL

и связанный nginx conf является этим:

server {
        location ~ .php$ {
                        fastcgi_pass 127.0.0.1:9000;
                        fastcgi_index index.php;
                        include /etc/nginx/fastcgi.conf;
                        fastcgi_param SCRIPT_FILENAME /var/www/hyperblasted/$fastcgi_script_name;
        }
        ...
}

и fastcgi.conf содержит следующее

fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;

Надежда это помогает :)

PS: С этой установкой у меня была проблема, где cgi демон умрет время от времени. Я работал вокруг этой проблемы путем выполнения этого в cronjob каждые 5 минут:

if ps aux | grep 'php5-cgi' | grep -v grep  > /dev/null ; then
        echo "PHP-cgi is runnning !"    
else
        echo "PHP-cgi is down. Starting over..."
        /etc/init.d/php-fcgi start
fi
1
ответ дан 3 December 2019 в 04:17
  • 1
    That' s вещь, хотя, когда я установил nginx с Кв. - добираются, нет никакого двоичного файла икры-fcgi. That' s, почему я должен был выяснить самостоятельно, как породить слушателей CGI PHP, И они работают... they' ре просто не обработка чего-либо. –  Sean 12 March 2010 в 13:19

Я не эксперт по этому вообще. На самом деле я видел Ваше сообщение, потому что у меня была та же проблема. Однако я, кажется, смог заставить это работать и что я сделал был изменить ИДЕНТИФИКАТОР ПОЛЬЗОВАТЕЛЯ (www-данные) из/etc/init.d/php-fastcgi файл пользователю, которого я в настоящее время выполнял. Извините, если это не помогает или что я не могу объяснить дальше, но я думал, что отправлю его в случае, если это релевантно.

0
ответ дан 3 December 2019 в 04:17

Попробуйте следующее:

vim /etc/php5/fpm/pool.d/www.conf

, а затем измените

; listen.owner = www-data
; listen.group = www-data

на

listen.owner = www-data
listen.group = www-data
0
ответ дан 3 December 2019 в 04:17

Теги

Похожие вопросы