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 } }