500 ошибок при переключении на fcgi в cPanel WHM [закрыто]

Я пытаюсь переключиться на fcgi из DSO на сервере CentOS 5.7 x64. Я сделал это в cPanel, как было предложено в документации cPanel.

Я сразу начинаю получать 500 внутренних ошибок сервера при попытке доступа к сайту.

Проверив свои журналы ошибок apache, я вижу следующее:

[Wed Feb 01 19:00:40 2012] [notice] Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4 mod_fcgid/2.3.6 configured -- resuming normal operations
[Wed Feb 01 19:00:41 2012] [notice] caught SIGTERM, shutting down
[Wed Feb 01 19:00:42 2012] [notice] suEXEC mechanism enabled (wrapper: /usr/local/apache/bin/suexec)
[Wed Feb 01 19:00:42 2012] [notice] Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4 mod_fcgid/2.3.6 configured -- resuming normal operations
[Wed Feb 01 19:04:42 2012] [notice] Graceful restart requested, doing restart
[Wed Feb 01 19:04:42 2012] [notice] Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4 mod_fcgid/2.3.6 configured -- resuming normal operations

При обратном переключении на DSO все снова работает нормально.

Как мне заставить это работать с fcgi?

-1
задан 24 February 2015 в 05:35
2 ответа

По умолчанию установка FastCGI через WHM не готова к использованию после установки. С их стороны глупо, даже на грани опасности, не сказать вам об этом, поскольку кажется, что это будет работать автоматически, как и все, что вы устанавливаете таким образом.

Причина довольно проста - нет файла конфигурации FastCGI, созданного WHM установить процесс. Это оставляет FastCGI с глупыми / опасными настройками по умолчанию, что приводит к большому количеству ошибок 500 и возможности одного пользователя вывести из строя весь ваш сервер, просто запустив файл PHP с некоторыми ошибками кода или получив большой трафик.

В любом случае. , решение тоже простое. Отредактируйте /etc/httpd/conf/php.conf и добавьте это:

MaxRequestsPerProcess 1000
FcgidMaxProcesses 200
FcgidProcessLifeTime 7200
MaxProcessCount 500
FcgidIOTimeout 400
FcgidIdleTimeout 600
FcgidIdleScanInterval 90
FcgidBusyTimeout 300
FcgidBusyScanInterval 80
ErrorScanInterval 3
ZombieScanInterval 3
DefaultMinClassProcessCount 0
DefaultMaxClassProcessCount 3
MaxRequestLen 20468982

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

PS. К сожалению, этот файл сбрасывается каждый раз, когда вы обновляете Apache, PHP или MySQL, поэтому сохраняйте резервную копию, которую вы восстанавливаете после каждого обновления.

2
ответ дан 5 December 2019 в 19:11

Обратите внимание, что вы также можете включить это в Post VirtualHost Include в cPanel. Это делается через WHM, выбрав «Конфигурация Apache» -> «Включить редактор». Затем выберите «Все версии» в раскрывающемся меню в разделе «Опубликовать VirtualHost Include».

Затем вы должны поместить свою конфигурацию FCGI следующим образом:

<IfModule mod_fcgid.c>
FcgidProcessLifeTime 8200
FcgidIOTimeout 8200
FcgidIdleTimeout 60
...
</IfModule>

Таким образом, она не будет перезаписываться каждый раз, когда cPanel выполняет обновление.

2
ответ дан 5 December 2019 в 19:11

Теги

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