Ubuntu 设置Apache服务器MPM为Worker[译]
本文版权归作者(苦瓜糖水)所有,禁止转载至其他网站,以致污染搜索环境。
1) 检查Apache当前运行的是哪种MPM模式:
apachectl -V | grep -i mpm
返回结果:
Server MPM: prefork
2) 列出可用的MPM模块列表 (确保mpm_worker已经登记的)
ls /etc/apache2/mods-available/mpm*
返回结果:
/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
3) 列出已经启用的MPM Modules (如果mpm_worker没有启用,我们应该禁用mpm_prefork模块同时启用mpm_worker模块)
ls -l /etc/apache2/mods-enabled/mpm*
返回结果:
/etc/apache2/mods-enabled/mpm_prefork.conf -> ../mods-available/mpm_prefork.conf
/etc/apache2/mods-enabled/mpm_prefork.load -> ../mods-available/mpm_prefork.load
4) 禁用MPM_PREFORK模块
a2dismod mpm_prefork
5) 启用MPM_WORKER模块
a2enmod mpm_worker
6) 再次检查Apache是否运行WORKER MPM模式
apachectl -V | grep -i mpm
返回结果:
Server MPM: worker
7) 重启Apache服务器
sudo /etc/init.d/apache2 restart
e) 如果你执行过程中得到这个错误:
Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP
e) 尝试删除libapache2程序包:
apt-get remove libapache2-mod-php5
转自:http://askubuntu.com/questions/524770/apache-enable-worker-mpm