【Nginx】配置Nginx的负载均衡

参考的优秀文章

  1. tomcat配置文件server.xml详解
  2. AJP协议总结与分析
  3. Using nginx as HTTP load balancer

在本机运行2个Tomcat

现需要运行两个Tomcat,监听不同端口,让Nginx作负载均衡跳转过来。
Tomcat版本:apache-tomcat-7.0.69-windows-x64.zip

要在一台机器运行两个Tomcat,要解决端口的冲突,我们只需要D:green omcat_clusterapache-tomcat-7.0.69-server-1confserver.xmlportredirectPort的端口修改成系统不占用的不同端口即可。

  1. <Server port="8005" shutdown="SHUTDOWN">, 关闭服务器监听的端口。
  2. <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />, port="8080",HTTP连接监听的端口;redirectPort="8443",遇到SSL请求,将请求转跳的端口。
  3. <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;
        }
        ......
    }
}

其他配置,参考:Using nginx as HTTP load balancer

原文地址:https://www.cnblogs.com/nick-huang/p/5762572.html