[TOC]
# 创建负载均衡
这里以2个后端服务器为例,创建一个不需要数据库的简易的负载均衡站点。
相关信息如下表:
| | 外网IP | 内网IP |
| ------------- | ------------ |------------- |
| 负载均衡节点 | 115.29.15.21 | 10.22.138.56 |
| 后端服务器1 | 115.29.15.22 | 10.22.138.57 |
| 后端服务器2 | 115.29.15.23 | 10.22.138.58 |
## 创建 Web 站点
在这一步中,我们要在后端服务器 1 和后端服务器 2 上创建 Web 站点。
为简便起见,我们在两台后端服务器上分别创建一个纯静态站点。
在 Nginx 面板中,点击“创建站点”:

这里的域名只是作为一个标识,可以随意填写,为了方便识别,我们直接使用 www.test.com。
创建好后,重载或重启 Nginx 服务使配置生效,同时分别检查下这两台服务器上的防火墙设置中,是否允许通过内网 IP 访问 Nginx。
接着,在两台后端服务器的站点目录下新建文件 index.html,内容分别为:
后端服务器1(10.22.138.57):
```
我是后端服务器1
```
后端服务器2(10.22.138.58):
```
我是后端服务器2
```
这两个 Web 站点创建好后,无法直接访问,它们只是作为负载均衡的后端服务器,不需要对外可访问,因此域名也不需要解析到这两台服务器上。
## 创建负载均衡器
在这一步中,我们要在负载均衡节点上创建负载均衡器,并将上一步中创建的后端服务器的两个 Web 站点加入负载均衡器中。
在 Nginx 面板中,点击“创建负载均衡”,配置如下:

请注意,这里要将后端服务器的内网 IP 填入到后端服务器列表中,这样才能走内网通信。
其它参数均使用默认值。
创建好后可以在站点列表中看到它了:

## 创建反向代理站点
在这一步中,我们要在负载均衡节点上创建一个反向代理站点,将请求代理到负载均衡器上。
在 Nginx 面板中,点击“创建站点”,配置如下:

这里需要注意的是,http头设置“自定义Host”必须传入后端服务器上 Web 站点的域名。
创建好后,重载或重启 Nginx 服务使配置生效,同时检查下服务器上的防火墙设置中,是否允许通过公网 IP 访问 Nginx。
## 解析域名并测试
将域名解析到负载均衡节点的公网 IP 上,示例为:115.29.15.21,等待域名解析生效后进行测试。
在刷新过程中,输出的文字会在“我是后端服务器1”和“我是后端服务器2”之间切换,说明负载均衡有在正常工作。


请注意,如果你多次刷新看到的都是同一个页面,有可能是设置了 KeepAlive,导致浏览器一直保持着和某台后端服务器的连接,只要关闭浏览器重开网页即可。
也可以使用以下 Shell 脚本进行测试(连续访问10次):
```
for (( i=1; i<=10; i++)); do echo -n $i": "; curl http://www.test.com/; echo; done;
```

正在加载...