Ошибка Fastcgi - проблемы FastCgiIpcDir в журнале ошибок - PullRequest
1 голос
/ 10 февраля 2012

FastCgiIpcDir проблемы в журнале ошибок

Привет

Я заметил в своих журналах ошибок Apache следующую ошибку (ошибка 1):

[Wed Feb 08 14:00:06 2012] [alert] [client 41.185.88.175] (2)No such file or  directory: FastCGI: failed to connect to (dynamic) server "/var/www/bin/php-splashpage-user/php-fastcgi": something is seriously wrong, any chance the socket/named_pipe directory was removed?, see the FastCgiIpcDir directive

Сразу после этого следует ошибка (ошибка 2):

[Wed Feb 08 14:00:06 2012] [error] [client 41.185.88.175] FastCGI: incomplete headers (0 bytes) received from server "/var/www/bin/php-splashpage-user/php-fastcgi"

Как исправить ошибку 1?

Я читал об изменении этого из-за того, что хост-система периодически очищала каталог "/ tmp" (каталог по умолчанию для fastCgiIpcDir, если не определен) и, таким образом, стирала связь с текущими активными службами FastCGI. Поэтому я решил попробовать. Я установил FastCgiIpcDir в файле fastcgi.conf в надежде на успех, но изменений просто нет.

Это содержимое моего файла fastcgi.conf:

<IfModule mod_fastcgi.c>
    FastCgiIpcDir /var/lib/apache2/fastcgi_test
    FastCgiConfig -idle-timeout 60 -maxClassProcesses 1
    FastCgiWrapper On

    AddHandler php5-fcgi .php
    Action php5-fcgi /cgi-bin/php-fastcgi

    <Location "/cgi-bin/php-fastcgi">
            Order Deny,Allow
            Deny from All
            Allow from env=REDIRECT_STATUS
            Options ExecCGI
            SetHandler fastcgi-script
    </Location>
</IfModule>

Разрешения и подписки на / var / lib / apache2 / fastcgi_test:

drwxr-xr-x  3 www-data www-data 4.0K 2012-02-08 09:20 fastcgi_test

Мой скрипт php-оболочки php_fastcgi имеет следующие строки:

#!/bin/sh

PHP_FCGI_CHILDREN=120
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=1000
export PHP_FCGI_MAX_REQUESTS

umask 0022
exec /usr/bin/php-cgi -d apc.shm_size=50

Я использую PHP 5.3.1, Apache / 2.2.14, Ubuntu 10.04.

Вот несколько вещей, которые я до сих пор подобрал:

  • Ошибка 1 появляется только в начале часа, скажем, 6 секунд сразу после нового часа

Из работы с mod_FastCgi я узнал, что увеличение дочерних процессов помогает устранить некоторые ошибки «error 2» (которые вызывают ошибку HTTP 500 через случайные интервалы). В настоящее время я не совсем уверен, каким будет влияние ошибки 1, однако, если ошибка 2 следует сразу после этого, можно с уверенностью сказать, что это нехорошо.

Очень мало, если таковая имеется, полной информации об ошибках, сообщаемых Fastcgi с проверенными и испытанными решениями. К сожалению, я, возможно, просто добавляю в кучу ошибок Fastcgi, опубликованных в Интернете, без заключения.

Ваша помощь, совет или советы по устранению ошибки 1 будут с благодарностью приняты.

1 Ответ

0 голосов
/ 04 сентября 2013

Я не знаю, как заставить его работать с оберткой и suexec, но вы должны попробовать это:

http://blog.kmp.or.at/2013/06/apache-2-2-on-debian-wheezy-w-php-fpm-fastcgi-apc-and-a-kind-of-suexec/

Решение в ссылке даже не используетsuexec, ни оболочка, и таким образом, по крайней мере, это работает.

Шаги, необходимые для этого:

0) установить php5-fpm и apache-mpm-worker, если он еще не установлен

1) прокомментируйте эту строку:

#FastCgiWrapper On

2) создайте псевдоним:

Alias /cgi-bin/php-fastcgi **/var/something**

3) fastcgiexternalserver:

FastCgiExternalServer **/var/something** -socket php5-fpm-site1user.sock

(Theстрого типизированные пути должны быть одинаковыми)

4) настроить conf в php5-fpm / pool.d / site1user.conf

[site1user]
user = site1user
group = site1user

listen = /var/run/php5-fpm-site1user.sock

pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

chdir = /

5) перезапустить службу fpm php5-fpm restart

6) для более глубокого понимания, проверьте мой другой ответ здесь

https://serverfault.com/questions/524708/php5-fpm-apache2-on-wheezy-connect-failed-with-fastcgi/536277#536277

...