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

Как настроить apache2 / mpm-worker + fcgid?

Есть там хорошие туто?

В настоящее время я использую apache2 / mod_php, что неэффективно.

На самом деле не имеет значения, какой дистрибутив вы используете, но вот установка, которую я использую для своего сервера CentOS, но должна иметь возможность достаточно легко переводить для того, что вы используете. Вы захотите использовать Worker MPM для Apache2 вместо Prefork MPM для достижения наилучших результатов.

Предполагается, что вы уже установили mod_fastcgi либо из дистрибутива, либо из исходный код. После того, как вы установили mod_fastcgi, вы хотите убедиться, что он настроен для загрузки через Apache2, я сделал это в /etc/httpd/conf.d/mod_fastcgi.conf содержащий:

LoadModule fastcgi_module modules/mod_fastcgi.so

Затем я создал еще один файл как /etc/httpd/conf.d/без разницы.conf (Название без разницы ко всему, что вы действительно хотите, для меня это было wordpress.conf):

<Directory "/path/to/app/docroot">
    Options +ExecCGI
    AddHandler php5-fastcgi .php
    Action php5-fastcgi /cgi-bin/php.fcgi
    DirectoryIndex index.php index.html
    AllowOverride All
</Directory>

Это значит, что в вашем cgi-bin каталог (для меня это /var/www/cgi-bin/ Мне нужно создать php.fcgi сценарий и chmod 755 Это. Моя содержит:

#!/bin/bash
### Set PATH ###
PHP_CGI=/usr/bin/php-cgi
PHP_FCGI_CHILDREN=0
PHP_FCGI_MAX_REQUESTS=1000
### no editing below ###
export PHP_FCGI_CHILDREN
export PHP_FCGI_MAX_REQUESTS
exec $PHP_CGI

Конечно, обновите путь PHP_CGI, если он отличается для вашей системы. Вы также можете изменить значение PHP_FCGI_CHILDREN, я видел, как некоторые рекомендуют установить его на 4, но я оставил его на 0 и имел хорошую производительность.

На этом этапе вы должны иметь возможность перезапустить Apache2, чтобы перечитать конфигурации, и если вы настроите простую страницу phpinfo () для запроса, вы должны увидеть, что ServerAPI установка с указанием CGI/FastCGI.

Какой дистрибутив?

Вот руководство по переходу от mod_php к mod_fcgid в Ubuntu: