当前位置 主页 > 服务器问题 > Linux/apache问题 >

    Apache 并发优化设置方法

    栏目:Linux/apache问题 时间:2018-10-11 14:37

    本文是对512M 内存并装有apache的vps进行优化,请不要跟我说装nginx就强多了,确实如此,但是你这样说的话,这篇文章就没什么意义了

    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
      LoadModule authn_file_module modules/mod_authn_file.so
      LoadModule include_module modules/mod_include.so
      LoadModule log_config_module modules/mod_log_config.so
      LoadModule expires_module modules/mod_expires.so
      LoadModule deflate_module modules/mod_deflate.so
      LoadModule headers_module modules/mod_headers.so
      LoadModule setenvif_module modules/mod_setenvif.so
      LoadModule mime_module modules/mod_mime.so