【Nginx】配置Nginx的负载均衡
参考的优秀文章
在本机运行2个Tomcat
现需要运行两个Tomcat,监听不同端口,让Nginx作负载均衡跳转过来。
Tomcat版本:apache-tomcat-7.0.69-windows-x64.zip
要在一台机器运行两个Tomcat,要解决端口的冲突,我们只需要D:\green\tomcat_cluster\apache-tomcat-7.0.69-server-1\conf\server.xml
中port
和redirectPort
的端口修改成系统不占用的不同端口即可。
<Server port="8005" shutdown="SHUTDOWN">
, 关闭服务器监听的端口。<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
, port="8080",HTTP连接监听的端口;redirectPort="8443",遇到SSL请求,将请求转跳的端口。<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
,AJP监听的端口和遇SSL转跳的端口。关于AJP,我也不懂,请参考:AJP协议总结与分析
Nginx的负载均衡配置
Nginx版本:nginx-1.10.1.zip
Nginx支持好几种形式的均衡分配:
- 循环(round-robin)
- 最少连接(least-connected)
- IP哈希(ip-hash)
- 权重(weight)
其中,IP哈希的负载均衡是具有粘性的,就是会话中同一客户端的请求始终会分配给一台服务器,如果没有实现Session共享的,可以使用IP哈希。
以下是最简单的循环的配置方式:
加了以下配置:
http {
......
upstream myweb_proxy {
server 127.0.0.1:18080;
server 127.0.0.1:28080;
}
......
server {
......
location /myweb {
proxy_pass http://myweb_proxy;
}
......
}
}