All tutorials I found were how to fresh install worker MPM + PHP-FPM, since my wordpress blog's already up and running with prefork MPM, correct me if I'm wrong in the simulated installation process:
I'm on ubuntu and according to some tutorials, the following lines would do all the tricks:
apt-get install apache2-mpm-worker libapache2-mod-fastcgi php5-fpm php5-gd
a2enmod actions fastcgi alias
Then you setup configuration in /etc/apache2/conf.d/php5-fpm.conf
:
<IfModule mod_fastcgi.c>
AddHandler php5-fcgi .php
Action php5-fcgi /php5-fcgi
Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization
</IfModule>
After all these, restart:
service apache2 restart && service php5-fpm restart
Question:
1) Would it cause any down time in the whole process for previously running sites with prefork MPM?
2) Do you have to change any already existent configuration files like php or mysql or apache2(would they take effect immediately after the switch without you doing anything)?
3) I've already have apc up and running, do you have to re-install/re-configure it after the switch?
4) How do you find out if apache2 is working in worker MPM mode as expected?
Thanks a lot!
You will see the keyword 'prefork' in the output. Then disable MPM prefork, with the following command. Next, enable MPM worker with the following command. Now verify that your Apache server is running MPM worker, with the following command.
You have to compile Apache with the desired MPM using the --with-mpm=MODULE NAME command line option to the config script. To change MPM, the binary must be rebuilt. You can determine which MPM Apache2 is currently built with by executing apache2 -l or httpd -l on the command line.
Enable Worker MPM in ApacheComment the LoadModule line for mpm_prefork_module and un-comment LoadModule line for mpm_worker_module in configuration file as per showing below. After un-commenting mpm_worker_modules just restart your Apache services. That's it. Now check the active MPM.
yes, it has to at least replace the httpd process running. you definitely want to test this on a development set up first. it's easy to have a mistake in a config file that takes a while to figure out.
no changes to php, mysql. yes changes to apache httpd.conf to put in worker configurations - they are very different from prefork settings. you need to do these changes yourself in httpd.conf.
no, since this is a php module, whenever php runs it works. that said, it will run one copy for each pool in php-fpm, so if you have multiple domains, you could group them into a pool to share...but be aware of security concerns if you do that.
httpd -V shows "server mpm"
good luck!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With