Ubuntu: Apache enable worker mpm



Question:

I have configured FastCGI and PHP5-FPM to work on ubuntu, Which is working fine.

But i installed "apache2 worker mpm" module and wanted to configure and replace "prefork mpm" which is default in apache2.

All i found was in CentOS at /etc/sysconfig/httpd just putting HTTPD=/usr/sbin/httpd.worker will make "worker mpm" enabled.

  1. How do we enable "worker mpm" in Ubuntu?

  2. Also when i list the compiled modules of apache "/usr/sbin/apachectl -l" it wont list "prefork.c" which said to be listing since we are using it by default. But when i do "/usr/sbin/apache2 -V | grep MPM" it shows "Server MPM: prefork" can some one explain this please?

$ /usr/sbin/apache2 -V | grep MPM

Server MPM:     prefork  

phpinfo();

Server API :    FPM/FastCGI  


Solution:1

After some time of working i did it myself. You can find the steps below.

Check which MPM apache is currently running:

apachectl -V | grep -i mpm    Result:  Server MPM:     prefork  

List Available MPM Modules (Make sure mpm_worker is listed)

ls /etc/apache2/mods-available/mpm*    Result:  /etc/apache2/mods-available/mpm_event.conf  /etc/apache2/mods-available/mpm_prefork.conf  /etc/apache2/mods-available/mpm_worker.conf  /etc/apache2/mods-available/mpm_event.load  /etc/apache2/mods-available/mpm_prefork.load  /etc/apache2/mods-available/mpm_worker.load  

List Enabled MPM Modules (If mpm_worker is not enabled we should enable it and disable the mpm_prefork module)

ls -l /etc/apache2/mods-enabled/mpm*    Result:  /etc/apache2/mods-enabled/mpm_prefork.conf -> ../mods-available/mpm_prefork.conf  /etc/apache2/mods-enabled/mpm_prefork.load -> ../mods-available/mpm_prefork.load  

Disable MPM_PREFORK module

a2dismod mpm_prefork  

Enable MPM_WORKER module

a2enmod mpm_worker  

To check if Apache is running on MPM WORKER

apachectl -V | grep -i mpm    Result:  Server MPM:     worker  

If you get this error after executing these commands:

Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP  

Try to remove libapache2 package:

apt-get remove libapache2-mod-php5  


Solution:2

Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP.


Solution:3

If you get this error after executing these commands:

Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP  

Try to remove libapache2 package:

apt-get remove libapache2-mod-php7.0  

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »