nginx+apache+php+mysql服务器集群搭建
由于需要搭建了一个基本的服务器集群。具体的配置方案先不说了,到有时间的时候再介绍。下面介绍下整个方案的优点。
我总共准备了四台阿里云的主机,架设分别是A,B1,B2,C,A在集群的最前面,B1和B2在A的后面,C在最后面。A主要用的nginx,用nginx做反向代理的功能实在是强大。nginx把来自80的http请求都转发到B1和B2上,B1和B2主要是两台apache,用于php解析。B1和B2来连接C上的mysql。A上的nginx除了做基本的反向代理工作之外(这里可以采用负载均衡),还进行静态文件的缓存和处理。
www.2cto.com
对于一些静态页面的请求,nginx直接就把它处理了,不会把请求转发到后面的apache上,这样就减少了apache的负载。apache解析php的稳定性和正确性导致了它在这个架构中的地位。网上的资料都说apache相对nginx解析php的稳定性和正确性等都强一些,我看未必,我现在也没有做过测试。
最后面的是mysql,apache去连接mysql都是通过内网去连接的,一是保证安全性,二是效率也高。同样的nginx转发到nginx也是通过内网去实现。
整个结构的实现大大的提高了站点的并发量,我做了测试,一分钟访问2000次左右,结果nginx所在的A主机内存很高,但是cpu几乎不耗,原因是因为nginx基本上都是只做转发和静态页面的响应,所以cpu很高。而后面的B1和B2就相对而言apache解析php损耗的cpu就比较高。最后面的C上的mysql消耗也比较高。
整个集群这样的配置还是效率比较高的。起码证明了nginx的强大之处。
时间: 2024-10-14 06:37:50