nginx tomcat负载均衡,同一服务器下多域名转发

用nginx进行同一个服务器下多域名的负载均衡配置

Nginx进行http负载均衡的模块是upstream

Upstream可以进行多个配置,这样的话可以灵活的配置站点,但是注意的是upstream后面的名字最好是配置成为域名,因为upstream是进行http访问的,一般的解析没有问题,但是如果是ajax的解析就会通过访问upstream后面的名字来进行访问了,这里要注意。

 

修改配置文件:conf/nginx.conf

#需要进行负载均衡的站点  
#其中server是其中负载均衡的一个节点www.aaa.com  
upstream www.aaa.com {    
        server 192.168.0.1:8080 weight=1;    
server 192.168.0.2:8080 weight=2;  
server 192.168.0.1:8081 weight=3;  
           
}    
  
#第二个网站的www.bbb.com的负载均衡的节点  
upstream www.bbb.com {    
        server 192.168.1.1:8080 ;    
server 192.168.1.2:8080 ;    
server 192.168.1.3:8080 ;    
        ip_hash;    
 }    
  
#同一服务器转发2个不同域名进行负载均衡  
#www.aaa.com的server  
server  
  {  
    listen       80;  
    server_name  www.aaa.com;  
     
        location / {    
            index  index.html index.jsp;    
            #这里的proxy_pass转发的是upstream的名字www.aaa.com  
            proxy_pass  http://www.aaa.com;    
            proxy_set_header    X-Real-IP   $remote_addr;    
            client_max_body_size    100m;    
        }    
          
    #limit_conn   crawler  20;      
      
}  
  
server  
  {  
    listen       80;  
    server_name  www.bbb.com;  
     
        location / {    
            index  index.html index.jsp;    
#这里的proxy_pass转发的是upstream的名字www.bbb.com  
            proxy_pass  http://www.bbb.com;    
            proxy_set_header    X-Real-IP   $remote_addr;    
            client_max_body_size    100m;    
        }    
          
    #limit_conn   crawler  20;      
      
}

 

upstream borrow {
   ip_hash;
   server 127.0.0.1:8080 weight=1 max_fails=3 fail_timeout=20s;
   server 127.0.0.1:8090 weight=1 max_fails=3 fail_timeout=20s;
}
server {
    listen       80;
    server_name  www.zemo.com;#这个是随便写的...不用访问了
    access_log  /usr/local/var/log/nginx/borrow_access.log;

    location / {
        proxy_redirect          off;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $remote_addr;
        client_max_body_size      20m;
        client_body_buffer_size 128k;
        proxy_connect_timeout   600;
        proxy_send_timeout      600;
        proxy_read_timeout      900;
        proxy_buffer_size       4k;
        proxy_buffers           4 32k;
        proxy_busy_buffers_size 64k;
        proxy_temp_file_write_size 64k;

        proxy_pass http://borrow; #这里borrow 指向上面名为borrow的upstream
    }
}