Apache优化步骤:
1、先查看apache的运行模式,查看命令:
httpd -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
这里可以看到运行模式是prefork模式。
2、修改apache 的httpd.conf 配置
本文是对512M 内存并装有apache的vps进行优化,请不要跟我说装nginx就强多了,确实如此,但是你这样说的话,这篇文章就没什么意义了,哈哈。那么进入正题吧!
操作系统(linux):CentOS 5.5 32位(并不是我说这个比较好,只是Cents我用得比较熟练)
内存:512M
cpu:1G(1000MHz,vps实际有没有这个数,很难说)
apache:2.2(建议低版本的,升级到高版本,毕竟旧版有很多问题,且性能也是高版本好点)
运行的主要是PHP程序,其他的不多说了,与本文关系不大。
首先,如题所说,本文所说的优化是针对apache 2.2以上版本,及使用perfork MPM模式的。perfork是apache在linux下默认安装下的模式,如果使用apache作为服务器的放在,还是使用perfork模式比较好,worker模式下对php某些功能并不支持。如果你使用的是win系统或都没有使有和perfork,那么下面可以选择不看或抱着学习的态度看看咯。
以下内容均属于博主自己的见解,实际测试请根据你的服务器,程序及其他因素按需处理。
一般情况下,我们需要优化apache就是因为apache占用大量的内存,导致vps当机,因为perfork是多进程处理的,每个进程都会点用一定的内存数量。所以限制httpd进程的数量,从而达到优化apache的作用。影响单个httpd进程的内存大小,主要都是加载模块,至少什么模块是合适的,我也很难说,因为这个是按由你的需要而定的。网上有些人说,绝大部分都会用不上的模块列出来,我认为这个是有很大的误导作用,因为绝大部分人中,也许你就是其中一个。将有用的模块屏蔽掉,最坏的情况,就是重启apache出错,或部分功能无法使用。所以我也不会列出什么最少模块加载方案什么的。所以,我只会说出一些参考。
apache(perfork)下的模块加载,并不是模块加载列表,没有的模块并不是屏蔽掉了,只是我也不清楚它的实际作用。
(一)、对于apache2.2,模块名有cache的一般都是有用的,因为有不少的这类模板都是2.1以上的apache才支持的,所以这类的模块不会是无缘无缘而存在的。
(二)、很有可能或必用到的模块有:
代码如下:
LoadModule auth_basic_module modules/mod_auth_basic.so
新闻热点
疑难解答