1. 程式人生 > >nginx介紹(四) - 反向代理

nginx介紹(四) - 反向代理

charset load ron http eight com centos 映射 win

前言

  前面虛擬主機的部分, 發現我所有的修改, 都是對 nginx 目錄下, nginx.conf 和 html 文件夾的操作. 我的最終目的, 是映射到不同電腦的tomcat裏面去啊, 操作這裏的html 怕是不能實現我的功能了. 這時候, 需要來修改配置文件了.

一. 概念介紹

1. 反向代理

技術分享圖片

從上圖能看的出, 反向代理, 可以決定使用那一臺服務器, 即 使用哪一個tomcat來處理請求.

如果將上一篇引入進來, 則tomcat1可以看成是 www.hao123.com, tomcat2 可以看成是 www.google.com.

二. 實現反向代理

1. window7 啟動tomcat

window7 上面, 我使用的是 tomat8.0.48版本. 在啟動之前, 先修改其 webapps/ROOT.index.jsp 文件

技術分享圖片

加了個小尾巴.

然後就可以將這個tomcat啟動起來, 先放著.

2. centos 啟動tomcat

centos也是一樣, 修改tomat文件

技術分享圖片

啟動tomcat. 這樣, 我在兩臺不同的電腦, 甚至是不同的系統上, 部署了服務. 坐等nginx臨幸. ?(? ???ω??? ?)?

3. 修改 nginx 的nginx.conf配置文件

  upstream tomcat1{
        server 10.10.21.11:8080;
        server 192.168.153.129:8080
; } server { listen 80; server_name www.google.com; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://tomcat1; index index.html index.htm; } #error_page 404 /404.html;
# redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }

4. 刷新配置

[root@localhost sbin]# ./nginx -s reload

5. 修改客戶機的映射, 因為不能真去訪問 谷歌啊

技術分享圖片

6. 查看結果

不斷的刷新訪問 www.google.com

技術分享圖片

技術分享圖片

這兩個頁面, 會交替出現. 為啥? 因為他們的權重都是一樣的, 默認為1. 權重越高, 那出現頻率越高.

如果將配置改成以下方式:

    upstream tomcat1{
        server 10.10.21.11:8080;
        server 192.168.153.129:8080 weight=2;
    }

刷新配置文件後, 再去看頁面, 發現, 129出現兩次, 11才出現一次.

通過這種方式, 將請求分發到不同服務器處理, 就實現了負載均衡.

如果這時候, 11服務器掛了, 這個網站任然是能夠正常訪問的. 只不過所有的請求都要走129了. 對客戶來說, 不會有任何感覺.

nginx介紹(四) - 反向代理