Я пытаюсь использовать php-fpm, так как слышал, что он может повысить производительность моего веб-сервера, и, похоже, он работает ... но не похоже, что он что-то ускорил.
Я проделал следующие шаги.
Добавил следующее ко всем моим vhosts под настройкой Directory:
# php-fpm
<FilesMatch "\.php$">
SetHandler "proxy:unix:/var/run/php-fpm/php-fpm.sock|fcgi://www/"
</FilesMatch>
Перезагрузил / запустил все и включил php-fpm при загрузке
Я был немного сбит с толку насчет mod_fcgi, mod_fastcgi и mod_php, но не изменил ни одного из них (кроме переименования 10-php.conf). Я читал что-то о том, что mod_proxy_fcgi является современным стандартом, но опять же явно не установил и не включил его.
Это правильная установка, или мне что-то не хватает, чтобы получить какую-то пользу?
Это решение не использует сокеты UNIX (оно прослушивает порт 9000), но я даю этот ответ для тех, кто может искать способ простой установки PHP7-FPM на CentOS.
Шаг 1. Настройте демон PHP-FPM
Настройте свой Коллекции программного обеспечения репозиторий, то:
yum install rh-php70 rh-php70-php-fpm
systemctl enable rh-php70-php-fpm
systemctl daemon-reload
systemctl start rh-php70-php-fpm
/etc/opt/rh/rh-php70
/var/opt/rh/rh-php70/log/php-fpm/www-error.log
/etc/systemd/system/multi-user.target.wants/rh-php70-php-fpm.service
к /usr/lib/systemd/system/rh-php70-php-fpm.service
/opt/rh/rh-php70/root/usr/sbin/php-fpm
Шаг 2. Настройте Apache FastCGI
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/$1
Если вы что-то оптимизируете, у вас должна быть метрика, на которую вы смотрите. Проведите измерения, для этого есть много инструментов, например ab
, siege
. jmeter
.
Получите результаты и сравните разные конфигурации, чтобы увидеть, какая из них лучше для вас.
Пожалуйста, загляните в каталог конфигурации php-fpm, где вам нужно оптимизировать в соответствии с ресурсами вашего сервера, проверить вашу конфигурацию.
Reerence:
https://serversforhackers.com/video/php-fpm-process-management
http://php.net/manual/en/install.fpm.configuration.php