nginx反向代理:
反向代理隐藏了真实的服务端,当我们访问www.baidu.com的时候,背后可能有成千上万台服务器为我们服务,但具体是哪一台,你不知道,也不需要知道,你只需要知道反向代理服务器是谁就好了。www.baidu.com就是我们的反向代理服务器,反向代理服务器会帮我们把请求转发到提供真实服务的服务器那里去。Nginx就是性能非常好的反向代理服务器,它可以用来做负载均衡。
在conf/nginx.conf文件中配置:
server{
listen 80; //监听端口
server_name localhost;
localtion/api/{
proxy_pass http://localhost:8080/admin/;
}
}
nginx的负载均衡:
(默认采用轮询策略)
在conf/nginx.conf文件中配置:
upstream webservers{
server 192.168.100.128:8080; //IP+后端端口
server 192.168.100.129:8080; //IP+后端端口
}
server{
listen 80;
server_name localhost;
localtion/api/{
proxy_pass http://localhost:8080/webservers/admin;
}
}
nginx负载均衡策略(权重方式):
nginx负载均衡策略:
1)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2)、weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
3)、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。