`
xiaolin0199
  • 浏览: 575862 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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

 
阅读更多

 参考 :

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即可

 

分享到:
评论

相关推荐

    apache httpd 2.4.26 for rhel7 x86_64 RPM

    2. **事件模型**:与早期版本的多进程(MPM_prefork)和多线程(MPM_worker)模型相比,2.4版本提供了MPM_event模型,提高了高并发场景下的性能。 3. **更好的内存管理**:优化了内存分配策略,减少了内存碎片,...

    Apache_HTTP_Server_2.4.12_JiSuXia.rar

    3. **性能提升**:Apache 2.4.12通过改进的工作模型(如Event MPM和Worker MPM)提高了并发处理能力,减少了响应时间,尤其在高流量网站中表现优异。此外,此版本还加强了对HTTP/2协议的支持,进一步提升了性能。 4...

    Apache2.2+mod_ASPDOT

    4. **性能提升**:Apache2.2通过改进多线程模型(如使用`mpm_worker`或`mpm_event`模块)和内存管理,提升了服务器处理高并发请求的能力。 5. **错误日志和访问日志**:Apache2.2支持自定义日志格式,可以更好地...

    Apache_2.4.4_for_Windows

    例如,MPM(多进程模块)的改进使得Apache能够更好地处理高并发请求,提供了Event和Worker模式,以适应不同类型的负载。此外,2.4版本还引入了新的配置语法,提高了配置文件的可读性和易维护性。 在提供的压缩包中...

    TongWeb集群配置_Apache2.0_Apache2.2

    worker.list=worker1,worker2 worker.worker1.type=ajp13 worker.worker1.host=168.1.1.119 worker.worker1.port=8009 # 定义worker2 worker.worker2.type=ajp13 worker.worker2.host=168.1.1.120 worker.worker2....

    Apache2中文教程

    例如,使用MPM(Multi-Processing Module)如prefork或worker,调整`MaxKeepAliveRequests`和`KeepAliveTimeout`参数,以及启用GZIP压缩等。 九、故障排查 当遇到问题时,Apache2的错误日志是排查故障的重要资源。...

    Apache的prefork模式和worker模式该户.docx

    Apache 提供了两种主要的 MPM:prefork 和 worker,它们各自有不同的工作原理和适用场景。 **prefork 模式** prefork 模式是一种非线程的、预派生的服务器模型,适用于那些没有线程安全库或需要避免线程兼容性问题...

    Linux系统上把PHP编译进Apache静态内核

    对于Apache 2.0版本,还需要在worker MPM中调整MaxClients。同时,确保DirectoryIndex包含了index.php,以便服务器优先尝试加载PHP索引文件。最后,添加`AddType application/x-httpd-php .php`指令,使Apache能够...

    Apache 2.4.27 x64

    2. **事件模型**:除了传统的多进程(MPM_prefork)和多线程(MPM_worker)模型,Apache 2.4引入了MPM_event模型,它结合了多线程的高效和单线程的低延迟,尤其适合处理大量的短连接请求。 3. **改进的访问控制**:...

    apache-2.2.25版

    5. **多线程支持**:虽然Apache传统上是以进程模型工作,但在2.2.x系列中,Apache引入了多线程的支持,即`mpm_worker`模块,结合了进程和线程的优点,提高了并发处理能力。 6. **错误日志和访问日志**:Apache能够...

    apache2.2.4

    3. **配置Apache**:编辑Apache的配置文件httpd.conf,添加PHP模块(mod_php)的支持,通常是`LoadModule php5_module "path/to/php/php5apache2_2.dll"`。 4. **配置PHP**:修改php.ini,设置PHP的相关配置,如...

    Apache+php+mysql相关优化

    例如,如果站点不使用CGI,可以禁用`mod_cgi`。 3. **使用MPM(多进程模块)**:如`prefork`或`worker`,根据服务器硬件和负载情况选择最适合的模型。 4. **LimitRequestFields和LimitRequestFieldsize**:限制...

    Linux AS4下PHP_APACHE_MYSQL整合安装过程

    4. **Apache配置**:编辑Apache的配置文件httpd.conf,添加对PHP的支持,如`LoadModule php5_module modules/libphp5.so`和`AddType application/x-httpd-php .php`。 5. **测试**:重启Apache服务,通过访问`...

    linux下安装配置apache+php (2).pdf

    - 运行配置命令,例如:`./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=most --with-mpm=worker` - 编译和安装:`make`,然后`make install`。 - 配置项解释: - `--prefix`:指定...

    Apache2中文手册

    Apache2还支持MPM(多进程模块),如prefork和worker,它们分别基于多进程和多线程模型。mod_proxy可以实现负载均衡和反向代理,mod_rewrite则能实现复杂的URL路由规则。 总的来说,Apache2中文手册提供了全面的...

    nginx+apache+mysql+php+memcached+squid搭建门户网站

    - **Apache**:安装过程中需要注意启用MPM模式,以提升处理并发请求的能力。 - **PHP**:安装完成后需配置加速器eAccelerator,以及PHP的memcache扩展,以增强PHP应用性能。 #### 七、安装Squid - **Squid**:安装...

    linux下安装配置apache+php.pdf

    2. 解压缩源码,进入解压后的目录,并运行`./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=most --with-mpm=worker`来配置安装路径、启用动态加载模块和选择多路处理模块。 3. 执行`...

    apache2.2.29

    6. **支持多线程**:Apache2.2引入了多线程模式(MPM,Multi-Processing Module),如prefork和worker MPM,以适应不同的服务器环境和负载需求。 【与PHP5.2.8和MySQL5.5.27的集成】:Apache2.2.29通常与PHP和MySQL...

    Apache_2.4.4

    3. **MPM(多进程模块)改进**:Apache 2.4 引入了新的MPM(如worker和event),与之前的prefork MPM相比,这些改进减少了内存占用并提高了处理能力。 4. **访问控制增强**:Apache 2.4.4 提供了更精细的访问控制...

Global site tag (gtag.js) - Google Analytics