配置 apache2.conf

配置 apache2.conf

上周我在 OVH 优惠中购买了名为 SP 的专用服务器。我无法正确配置它。

我的参数是:

RAM 32 GB 核心 4 线程 8 硬盘 2x 120GB SSD 连接 100 Mbps

有关专用服务器的更多信息,请参见:在此处输入链接描述

我的apache2.conf文件:

<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>

<IfModule mpm_worker_module>
    StartServers          2
    MinSpareThreads      25
    MaxSpareThreads      75 
    ThreadLimit          64
    ThreadsPerChild      25
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>

当在线流量超过 500 位用户时,我的页面 (关联) 故障,但服务器正常。我使用 wordpress 3.2 和 wp quick cache。

Cpu < 1-10%,内存 < 小于 2 GB,磁盘繁忙 < 1-10% 连接 14Mbps

我安装了页面速度(Google)我禁用了 mod:headers、mod_authz、expires、deflate、setenvif、autoindex

答案1

当流量超过 500 名用户时

根据您的配置,您已将 MaxClients 设置为 150。检查 Apache 错误日志中是否达到了 MaxClients 限制,根据您的发行版,它可能出现在以下几个地方:

  • /var/log/httpd/错误日志
  • /var/log/apache2/error.log

如果您达到了 MaxClients 值,而您的服务器并未将其资源最大化,那么稍微提高限制可能是安全的。所有这些都需要随着时间的推移进行监控和调整,因为资源使用情况在很大程度上取决于您的应用程序代码,并且不可能真的说“这是具有 32GB RAM 的服务器的配置,等等”。

您可以阅读有关常见 Apache 指令的更多信息这里

答案2

当流量超过 500 名用户时

这是一个毫无意义的指标。

但服务器没问题

这再次毫无意义。

这两种 Apache 配置看起来都很糟糕 - 您尝试过什么来解决问题?您可能首先要确定您正在运行的是 pre-fork 还是 LWP 服务器。实际上,您可能应该使用 pre-fork。我建议从以下方法开始:

StartServers         20
MinSpareServers      10
MaxSpareServers      20
MaxClients          300
MaxRequestsPerChild 1000

确保已启用 Keepalive,且超时时间为 2 或 1。

您的 PHP 如何连接到网络服务器(应该是 mod_php)。

我安装了页面速度(Google)

您指的是 mod_pagespeed 吗?为什么?

我禁用了 mod:headers、mod_authz、expires、deflate、setenvif、autoindex

为什么?放回 mod_deflate 并配置它以压缩所有 html、css、javascript 和 PHP 输出。

将 mod_headers 和 mod_expires 放回去 - 您需要它们来正确配置缓存 - 然后配置适当的缓存。

接下来,禁用 mod_pagespeed 并调整您的网络服务器。

接下来安装并配置操作码缓存。

然后安装并配置 w3 total cache。

一旦所有这些运行良好,就添加一个反向代理(varnish 或 nginx)并再次启用 mod_pagespeed - 但这次要正确调整它。

相关内容