前言 前面虛擬主機的部分, 發現我所有的修改, 都是對 nginx 目錄下, nginx.conf 和 html 文件夾的操作. 我的最終目的, 是映射到不同電腦的tomcat裡面去啊, 操作這裡的html 怕是不能實現我的功能了. 這時候, 需要來修改配置文件了. 一. 概念介紹 1. 反向代理 ...
前言
前面虛擬主機的部分, 發現我所有的修改, 都是對 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了. 對客戶來說, 不會有任何感覺.