apache2使用mpm_worker , php5不能使用的解决方法

本文提供了一步一步的指南,详细介绍了如何在Ubuntu 14.04上将Apache2从默认的mpm_prefork模式切换到更高效的mpm_worker模式,包括安全备份、安装worker模块、启用CGI和CGID、激活mod_actions、编辑配置文件等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 参考 :

http://www.ehow.com/how_12021626_activate-worker-mpm-apache2-ubuntu.html

 

背景: apache2,php5默认安装的时候都是使用的 mpm_prefork 模式, 我们想要将其调整为mpm_worker模式,问题来了,php5与mpm_worker不兼容的,如何处理?

 

ubuntu 14.04  apache2.4.x   php5.x.x

 

1. 安全先备份 php.ini

写道
cd /etc/php5/cgi/
sudo cp php.ini php.ini.back

 

2.  安装 Apache2 worker MPM

写道
sudo apt-get install apache2-mpm-worker php5-cgi

** 可能会提示 the "apache2-mpm-prefork" and "libapache2-mod-php5" are removed.

 

3.  启用cgi和cgid

写道
sudo a2enmod cgi
sudo a2enmod cgid

 

4.  激活 mod_actions

写道
cd /etc/apache2/mods-enabled
sudo ln -sf ../mods-available/actions.load
sudo ln -sf ../mods-available/actions.conf

 

5.  编辑 actions.conf

写道
<IfModule mod_actions.c>
Action application/x-httpd-php /cgi-bin/php5
</IfModule>

 

6.  编辑 apache2.conf

写道
sudo vim /etc/apache2/apache2.conf

 

<IfModule mpm_worker_module>
StartServers        10
ServerLimit         1000
MaxClients          1000
MinSpareThreads     25
MaxSpareThreads     75
ThreadsPerChild     25
MaxRequestsPerChild 0
</IfModule>

 

7.  检查语法都对了没有

写道
/usr/sbin/apache2ctl -t

** 成功会有 "Syntax OK" 字样

 

8.  重启 apache

写道
sudo /etc/init.d/apache2 restart

 

 

**  我在操作的时候  (ubuntu server 14.04 64bit时 出现 worker还原成 prefork的情况 )

写道
sudo a2dismod mpm_prefork
sudo a2enmod mpm_worker
重新启用mpm_worker即可

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值