两个 Web 服务器设置(Apache)

两个 Web 服务器设置(Apache)

我的网站运行在一台 Web 服务器(Apache+PHP,Linux OS)和一台 DB 服务器(MySQL)上,它面临着巨大的流量。我计划在当前 Web 服务器之外添加其他 Web 服务器。我没有设置多台 Web 服务器的经验,所以我需要有关两台 Web 服务器的最佳设置的建议、意见或想法。

以下是有关当前 Web 服务器的一些统计数据: 进程 阿帕奇 记忆 加载 交通

当前 Apache 配置如下:

<IfModule prefork.c>
StartServers       8
MinSpareServers    5
MaxSpareServers   20
ServerLimit      1556
MaxClients       1556
MaxRequestsPerChild  2000
</IfModule>

答案1

虽然可能需要对网站进行一些修改,但您可能要考虑将静态内容移至单独的域/服务器。这将包括 javascript、css 和图像等内容。此服务器应接收更简单的请求,无需 cookie 和身份验证。随着您网站的发展,通过克隆服务器并为域添加其他 IP 地址,此网站应该易于扩展。

动态内容往往更难扩展。如果您有会话需要跟踪,这会变得更加困难。除非您将用户与会话绑定到特定服务器,否则您需要查看会话复制。

随着网站的发展,您最终需要考虑扩展数据库。复制是一种方法,适用于只读或大部分读取访问。

答案2

基本上将您的 docroot 移动到共享存储并将其挂载在两个 Web 节点上。您可以执行基于文件的挂载 (ala NFS) 或 (iSCSI) 块级挂载 (ala 集群文件系统,如 OCFS2)。

然后在 Web 节点前面放置一个负载均衡器并使用粘性会话。

这是一种从一个网络节点到两个或更多网络节点的重大飞跃。

NFS 解决方案易于实现,但随着您添加 Web 节点(此时表明需要迁移到集群文件系统),性能会下降。

相关内容