nginx+tomcat实现应用服务器负载均衡

工具及软件

      1. centos 7.x    (安装在 vm 中)   不会可以百度

       2. nginx -1.6.2    不会 请看这里

      3. tomcat7      不会请看这里

      4. jdk 1.7    不会请看这里

     5.工作目录  /mytest   如下

                     

  在进行本章前,请确保 已安装好  jdk1.7  tomcat7  nginx-1.6.2

   

网络拓扑:

      2台虚拟机  finder220  (计算机名称 finder220    ip : 192.168.1.220)

finder220上   tomcat 服务器2个 

    端口分别是 8081 8082   

  一个 nginx服务器 做负载均衡

finder02 (192.168.1.220)

    上 安装 2个 tomcat  

   端口分别是 8081 8082   

配置负载均衡

之前Tomcat我们已经做好了配置,接下来只需要在finder220 nginx中配置即可,配置文件为/usr/local/webserver/nginx/conf/nginx.conf,如下图添加upstream部分,将localtion部分更改为图中部分即可,server可以是其他服务器上的服务,weight越高越容易被分发请求,这里我暂时写本机的,另外实际使用中upstream第一行要加入ip_hash来保证同一用户一次只能访问同一台服务器,解决session跨服务器丢失的问题,如果系统内使用其他方法处理了session的共享问题就不要加了,这个实例中我们就不加入了,因为加入了以后刷新浏览器页面不会变化

      

   

   开启 finder02 和 finder220 上的2个 4个 tomcat

  finder02上执行

  

 # /mytest/tomcat1/bin/startup.sh
  # /mytest/tomcat2/bin/startup.sh

finder220上执行

 #/mytest/tomcat1/bin/startup.sh
  #/mytest/tomcat2/bin/startup.sh
# /usr/local/webserver/nginx/sbin/nginx

接下来可以在实体机的浏览器进行 测试,连续访问虚拟机的nginx

http://192.168.1.220

如上图 四个服务器 轮流 被访问了 

至此 负载均衡搭建成功

其他参数:

        nginx反向代理配置时,一般会添加下面的配置:
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header REMOTE-HOST $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

如果负债均衡是阿里云SLB , 则再配置的时候也需要选择上 X-Forwarded 等参数。 

tomcat 上需要配置

<Engine name="Catalina" defaultHost="localhost">  
  这行之后
      <Valve className="org.apache.catalina.valves.RemoteIpValve"  
        remoteIpHeader="X-Forwarded-For"  
        protocolHeader="X-Forwarded-Proto"  
        protocolHeaderHttpsValue="https"/> 
发布了211 篇原创文章 · 获赞 29 · 访问量 36万+

猜你喜欢

转载自blog.csdn.net/wuhualong1314/article/details/68942998