Nginx是一个开源(遵循BSD协议)、高性能、高可靠的Web和反向代理服务器。主要用于Web应用的缓存和负载均衡,支持热部署、占用内存少、并发能力强,能支持高达5w个并发连接数。
Nginx主要应用场景包括:1、静态资源(静态HTML网站、文件、图片、音视频)的Web服务器;2、Web应用和服务的反向代理(负载均衡、缓存)服务器。
Keepalived是一个开源(遵循GPLv2协议)的、基于VRRP协议的轻量级服务高可用和负载均衡方案,提供避免服务器单点故障和请求分流的能力。它为Nginx扩展了高可用能力,共同组成完整的Web服务集群模式(高可用+负载均衡)。
目录
1.集群部署拓扑图
2.Web应用服务器部署
3.Nginx代理服务器的安装和配置
4.Keepalived高可用中间件的安装和配置
附录一Nginx配置文件详解
附录二Nginx配置虚拟主机头
附录三扩展Nginx客户端身份认证
附录四扩展Nginx跨域访问
附录五扩展Nginx网页压缩
附录六Nginx四层网络协议负载均衡
1.集群部署拓扑图Web应用集群部署拓扑图
网络资源规划:
1、Web应用服务器节点
2、Nginx高可用服务器节点
KeepalivedVirtualIP:...。
Web应用服务器可以使用任何中间件部署WebSite、WebApp或者是通过Http协议提供服务的资源。需要注意的是:作为Web负载均衡的节点,发布的服务通常需要具备完全一致性,包括但不限于:数据源一致性、程序一致性、配置一致性。
常见的Web开源中间件:
本例采用PythonHttpServer搭建静态站点的演示环境。
在各个"Web应用服务器节点"(Web-1、Web-2、Web-3)上制作、发布静态站点。以节点"Web-1"为例:
1、在用户主目录下创建静态站点。
使用文本编辑器创建HTML文件:
[centos
Web-1~]mkdirwebsite[centosWeb-1~]gedit~/website/index.html在文件中编写以下内容并保存:
!DOCTYPEhtmlhtmlheadmetacharset="utf-8"titlewebsite-1/title/headbodyWeb集群演示/body/html
注意:为了演示Nginx负载均衡特性,"title/"中定义各个站点的标识,三个Web站点依次为:"website-1"、"website-2"、"website-3";"body/"中定义的内容必须一致,体现发布服务的一致性。
2、进入静态站点目录并发布站点。
[centos
Web-1~]cdwebsite[centosWeb-1website]sudopython3-m