1. 程式人生 > >【Nginx】nginx反向代理與tomcat負載均衡

【Nginx】nginx反向代理與tomcat負載均衡

前言

        nginx反向代理大大節省了伺服器開支,通過配置多個虛擬主機,使多個服務共同的使用虛擬的80埠。

首先,某個伺服器上有多個tomcat服務,分別佔用一個埠。先看配置檔案。

tomcat服務1

    upstream sina{
	server 192.168.88.88:8080;
    }

    server {
        listen       80;
        server_name  www.sina.com.cn;

        location / {
            proxy_pass   http://sina;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

tomcat服務2

    upstream sohu{
	server 192.168.88.88:8081;
    }

    server {
        listen       80;
        server_name  www.sohu.com;

        location / {
            proxy_pass  http://sohu;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
        在該伺服器上,搭建了兩個tomcat伺服器,分別佔用了8080和8081埠釋出服務,通過按照域名區分的方式,將請求代理到相應的tomcat服務上,開啟瀏覽器,輸入www.sina.com.cn,就會訪問到8080繫結的服務,同理,訪問www.sohu.com,就會訪問8081繫結的服務,實現了反向代理。

        那負載均衡呢,很簡單,所謂負載均衡,其實是tomcat叢集的體現,只需要在配置檔案中。

    upstream sohu{
	server 192.168.88.88:8081;
        server 192.168.88.88:8082 weight=2;
    }
        這樣,當我們訪問www.sohu.com的時候,請求就會被分發到8081和8082兩臺服務中去,當然,還可以設定權重,來設定特定伺服器所承擔的壓力,如8082埠的weight=2,即8082服務承載的壓力是8081埠的二倍。

總結

        這些簡單的配置只是在學習過程中的小筆記,歡迎提出寶貴建議。