1、反向代理
可以说负载均衡是nginx的核心功能之一,而根据我的理解,反向代理则是实现负载均衡的手段。
要说反向代理,则自然要先说正向代理,正向代理指客户端经代理访问指定的服务器,而该服务器只能获取到代理服务器的信息,而无法得知是哪个客户端发出的请求,像是VPN就采用类似的形式。类似的,反向代理则是客户端访问代理服务器,代理服务器根据规则将请求转发给名下多台服务器中的任一服务器处理,而对于客户端来说,是哪一个服务器处理的请求,这是无法得知的。
nginx如何配置反向代理:
#http://192.168.1.5:10006的请求转发给服务器192.168.1.6处理
server{
listen 10006;
server_name localhost;
location / {
proxy_pass http://192.168.1.6;
}
}
#http://192.168.1.5:10007的请求转发给服务器192.168.1.7处理
server{
listen 10007;
server_name localhost;
location / {
proxy_pass http://192.168.1.7;
}
}
效果:
其他常用的反向代理指令
2、配置负载均衡服务器组
负载均衡的策略有几种:一般轮询负载均衡、加权轮询负载均衡、ip_hash负载均衡、第三方模块负载均衡,这里会挨个说明。
一般轮询负载均衡)
配置方法:
server{
listen 8080;
server_name localhost;
location / {
proxy_pass http://web_server_group;
}
}
#配置负载均衡服务器组
upstream web_server_group{
server 192.168.1.6;
server 192.168.1.7;
}
访问http://192.168.1.5:8080/ 不断刷新,即可看到效果。
加权轮询负载均衡)
未完待续...