前言
nginx和apache是互联网时代最为流行的两种Web服务器软件。nginx高并发性能出众,占用系统资源少,成为了很多企业web服务器的首选。但是由于nginx对于处理php等动态页面的处理十分鸡肋,而apache非常善于处理动态页,并且apache的稳定性远远高于nginx,功能模块也多于nginx。
为了取长补短,常常会以nginx+apache两个软件配合起来处理web服务器。nginx作为前端主要用于接收客户端请求,并且根据自身的负载均衡模块的设置,向后端apache服务器发起访问web页面,以达到最佳的客户体验。
本文将详细说明nginx+apache的配置方法。
服务器拓扑结构
配置规格表
配置方案
ServerA和ServerB的配置相同,提供的同一个WEB站点的访问。即配置相同,提供的index.html内容也相同。配置如下:
ServerA:
index文件
ServerB:
index文件
Server的nginx配置如下:
如图所示按照方框中的内容修改nginx的主配置文件(/etc/nginx/nginx.conf)。
upstream节要写在http节中,表示需要反向代理的主机列表,其中web为代理名,weight为负载均衡权重。
location节要写在server节中,其中http://后面接的内容需要与upstream节的代理名一致。
配置好三台服务器之后,通过访问http://www.xxx.com的方式可以直接访问到ServerA和ServerB上的页面。
可能遇到的问题:如果遇到三台主机服务启动无误,ServerA和ServerB的web页面单独访问正常,访问Server上的nginx时出现404报错,可以尝试关闭三台服务器的selinux以解决问题。