- 主动断开用户和真实服务器之间直接通信,只有通过我们的代理服务器才能访问我们的服务
-
查看nginx服务器IP地址, $
ip addr
, 查看到此服务器ip:192.168.55.66
(仅作为举例) -
编辑nginx服务器配置 $
vi /etc/nginx/sites-enabled/default
server { listen 80; root /var/www/html; index index.html index.htm; server_name _; location / { proxy_pass http://192.168.55.67:80; # 在这里配置一台67主机 } }
-
通过这个配置,一旦有浏览器请求nginx服务器(66主机)时,它就会将请求转发给配置的67主机,再获取到67主机返回的结果,再返回给浏览器
-
保存退出后重新加载nginx文件 $
nginx -s reload
-
我们访问
http://192.168.55.66
服务器, 返回的结果是http://192.168.55.67
服务器上的内容
-
编辑nginx服务器配置 $
vi /etc/nginx/sites-enabled/default
# 配置backend 这里是你要均衡的多台服务器 # weight表示权重的意思, 以为每台服务器的配置都不一样,完全一样的权重不合理, 配置好的服务器权重相应增加 # weight可以按服务器的CPU和内存来粗略配置, 假设CPU一样, 如果A服务器的内存是B服务器的2倍, 那么A服务器的权重可以为2, B服务器为1 像这样 upstream backend { server 192.168.55.67:80 weight=1; server 192.168.55.68:80 weight=1; } server { listen 80; root /var/www/html; index index.html index.htm; server_name _; location / { proxy_pass http://backend; # 在这里将代理服务器指定为backend } }
-
保存退出后重新加载nginx文件 $
nginx -s reload
-
再次请求主机为66的nginx的服务器,此时已配置好负载均衡了
- 我们可以分别在67、68服务器分别特殊处理一下响应内容标识它是哪一台服务器
- 然后访问66服务器, 频繁刷新, 就可以看到一会儿是67内容, 一会儿是68内容
- 此时负载均衡已配置完毕,nginx已经将请求在两台服务器之间来回切换
-
备注:以上是最好的配置方案,通过权重来随机分配机器来实现,也很简单。
- 当然还有一些其他方案如:
ip_hash
, 但是并不是太理想, 有时间可以多了解一下。
- 当然还有一些其他方案如: