[新手]nginx反向代理負載均衡配置

今天無聊,把上幾天本身測試的nginx做反向代理負載均衡的步驟記錄下來,以供學習記錄。
反向代理,我我的理解是經過一臺反向代理服務器,把客戶端的把有請求按照必定的規則分發給後臺的服務器。nginx做反向代理服務器的虛擬機配置以下:html

upstream itest {
    #正常狀況下應該做以下配置
    #server 192.168.20.1:80; # 應用服務器1
    #server 192.168.20.2:80; # 應用服務器2

    #因爲我只有一臺測試的服務器,因此ip同樣,用端口做區別
    #一、按照權重大小分配服務器輪詢機率,若是全不指定weight則按時間逐個輪詢
    server 127.0.0.1:7749 weight=3;
    server 127.0.0.1:8864 weight=5;
    server 127.0.0.1:9981;    #默認weight爲1
    
    #二、根據ip_hash分配服務器,每一個ip固定訪問一臺服務器,可解決session問題,但一般session問題一般都是寫入固定memcached或redis服務器來解決的。
    ip_hash;
    server 127.0.0.1:7749;
    server 127.0.0.1:9981;
    
    #三、fair根據響應時間分配,好像要第三方插件支持
    #四、url_hash根據url分配,好像也須要第三方插件支持
}

server {
    listen 80;
    server_name itest.com;
    location / {
        proxy_pass http://itest;
    }
}

然後臺的服務器,能夠是nginx、apache、tomcat等,例如server 127.0.0.1:9981爲nginx服務器,則其虛擬機最簡配置以下:nginx

server {
    listen 9981;
    root /sites/itest/9981;    #9981爲文件夾,由於爲了模擬多臺服務器上,因此以路徑名做區分
    index index.html;
}

若是server 127.0.0.1:7749爲apache服務器,其最簡配置以下redis

<VirtualHost *:7749>
    DocumentRoot /sites/itest/7749
</VirtualHost>

測試時,只要在/sites/itest/{7749|8864|9981}目錄下添加不一樣內容index.html,訪問看到不一樣itest.com正常會看到不一樣的index.html內容。
概念問題:我理解的反向代理與負載均衡以前的關係是,反向代理是實現負載均衡的一種方法; 但看到網上一些說法是,反向代理與負載均衡是一個意思; 還有就是反向代理會緩存一些靜態資源,更快,而負載均衡會直接訪問後臺服務器,不會緩存。望看到知道的好人大神們給評一下兒,其它有什麼不對的也但願指點一下apache

相關文章
相關標籤/搜索