Apache with php-fpm: Difference between revisions
Line 8: | Line 8: | ||
When used with apache event mpm, it's the most memory efficient setup that you can achieve with apache + php. Whether it's better than nginx + php-fpm depends on your setup, contents and preference. | When used with apache event mpm, it's the most memory efficient setup that you can achieve with apache + php. Whether it's better than nginx + php-fpm depends on your setup, contents and preference. | ||
===Step by step=== | ===Step by step (apache2 event mpm + php+fpm) === | ||
install | '''install apache2 and php-fpm''' | ||
{{Cmd|apk add apache2-proxy php-fpm}} | |||
'''configure apache2''' | |||
in /etc/apache2/httpd.conf | |||
Comment line: | |||
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so and | |||
Uncomment line: | |||
#LoadModule mpm_event_module modules/mod_mpm_event.so | |||
copy the mpm config, and adapt it to suit you needs. | |||
{{Cmd|cp /etc/apache2/original/extra/httpd-mpm.conf /etc/apache2/conf.d/}} | |||
put these lines in yout httpd.conf or vhost files, don't forget to change the path | |||
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/localhost/htdocs/$1 | |||
DirectoryIndex /index.php | |||
'''tune php-fpm''' | |||
edit the file /etc/php/php-fpm.conf to suit you needs | |||
'''(re)start apache2 and php-fpm''' | |||
{{Cmd|/etc/init.d/apache2 restart && /etc/init.d/php-fpm restart }} | |||
[[Category:Server]] | [[Category:Server]] |
Revision as of 08:19, 17 September 2014
Apache and php
There are 4 different ways to use php with apache
- cgi
- fcgi
- mod_php
- php-fpm
Here is a comparison why fpm is the better way. In short it works with apache event mpm, has better security, can have per vhost pool configuration, better process management, better security, .... When used with apache event mpm, it's the most memory efficient setup that you can achieve with apache + php. Whether it's better than nginx + php-fpm depends on your setup, contents and preference.
Step by step (apache2 event mpm + php+fpm)
install apache2 and php-fpm
apk add apache2-proxy php-fpm
configure apache2
in /etc/apache2/httpd.conf
Comment line:
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so and
Uncomment line:
#LoadModule mpm_event_module modules/mod_mpm_event.so
copy the mpm config, and adapt it to suit you needs.
cp /etc/apache2/original/extra/httpd-mpm.conf /etc/apache2/conf.d/
put these lines in yout httpd.conf or vhost files, don't forget to change the path
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/localhost/htdocs/$1 DirectoryIndex /index.php
tune php-fpm
edit the file /etc/php/php-fpm.conf to suit you needs
(re)start apache2 and php-fpm
/etc/init.d/apache2 restart && /etc/init.d/php-fpm restart