负载均衡原理及Nginx在CentOS8下的安装使用

1. (正向)代理和反向代理

  • (正向)代理:我们想要访问Google的时候,需要在本机安装VPN,这个VPN就是正向代理。或者可以简单理解为:安装在自己电脑上的代理就是正向代理。
  • 反向代理:我们访问Google的时候,中间还有一个服务器,这个服务器负责随机将访客分配到Google不同的服务器上。中间的这个负责分配的服务器,就是反向代理。或者可以理解为:没有安装在自己电脑上的代理就是反向代理。

2. 负载均衡

file
Nginx就是负载均衡器。

3. Nginx特性

Nginx只对静态资源有效。动态资源计算仍在原服务器完成。

4. 搭建测试环境

准备三台服务器环境,这里我是在VMWare Workstation下建立了三台服务器,每台服务器需要安装的环境和IP地址如下:
file
有关JDK和Tomcat的安装,请参考:http://www.moonlightgate.com/archives/173

5. Nginx安装

当前安装基于192.168.81.134服务器,操作系统为CentOS,根据Nginx官方文档提示,采用yum安装方式。
Nginx原版安装指南如下:http://nginx.org/en/linux_packages.html#RHEL-CentOS

第一步:安装yum-utils

sudo yum install yum-utils

第二步:在如下位置创建如下文件:

/etc/yum.repos.d/nginx.repo

文件内容如下:

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

第三步:安装Nginx

sudo yum install nginx
注:如果你使用的是CentOS8,直接使用第三步命令即可安装。

第四步:启动Nginx

systemctl start nginx

第五步:放行80端口(Nginx默认使用80端口)

firewall-cmd --zone=public --add-port=80/tcp --permanent
然后重启防火墙
firewall-cmd --reload

第六步:在浏览器中输入http://192.168.81.134 测试一下

看到下面内容就是成功了:
file

6. Nginx配置

第一步:配置服务器集群IP地址

编辑/etc/nginx/nginx.conf文件
在如下位置添加代码:
file
注意:balance这个名字随意,但是要上下呼应。每次修改配置文件后,都需要重启Nginx才能生效。

第二步:关闭安全组

编辑/etc/selinux/config文件
file

第三步:重启服务器

不重启不生效哦

7. 最终测试

第一步:将两台JDK服务器的初始页面修改为不同的内容。

比如:
132的服务器修改为Hello,132
133的服务器修改为Hello,133

第二步:在浏览器中输入:http://192.168.81.134

多刷新几次,如果能够分别出现Hello,132和Hello,133就说明成功了!