1. 程式人生 > 其它 >圖文詳解 配置Nginx+Tomcat負載均衡、動靜分離叢集

圖文詳解 配置Nginx+Tomcat負載均衡、動靜分離叢集

Nginx+Tomcat負載均衡、動靜分離叢集
一.Nginx負載均衡實現原理
① Nginx實現負載均衡是通過反向代理實現
② 反向代理原理
③ Nginx 配置反向代理的主要引數
二.Nginx動靜分離實現原理
① 動靜分離原理
② Nginx 靜態處理優勢
1.準備三臺伺服器,Nginx作為負載均衡器,Tomcat作為應用伺服器
2.部署Nginx 負載均衡器
3.部署2臺Tomcat 應用伺服器
4.動靜分離配置


Nginx server 配置

#準備靜態頁面和靜態圖片
echo '<html><body><h1>這是靜態頁面</h1></body></html>' > /usr/local/nginx/html/index.html
mkdir /usr/local/nginx/html/img
cp /root/game.jpg /usr/local/nginx/html/img

vim /usr/local/nginx/conf/nginx.conf
......
http {
......
#gzip on;

#配置負載均衡的伺服器列表,weight引數表示權重,權重越高,被分配到的概率越大
upstream tomcat_server {
server 192.168.116.70:8080 weight=1;
server 192.168.116.120:8080 weight=1;
server 192.168.116.120:8081 weight=1;
}

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

charset utf-8;

#access_log logs/host.access.log main;

#配置Nginx處理動態頁面請求,將 .jsp檔案請求轉發到Tomcat 伺服器處理
location ~ .*\.jsp$ {
proxy_pass http://tomcat_server;
#設定後端的Web伺服器可以獲取遠端客戶端的真實IP
##設定後端的Web伺服器接收到的請求訪問的主機名(域名或IP、埠),預設HOST的值為proxy_pass指令設定的主機名。如果反向代理伺服器不重寫該請求頭的話,那麼後端真實伺服器在處理時會認為所有的請求都來在反向代理伺服器,如果後端有防攻擊策略的話,那麼機器就被封掉了。
proxy_set_header HOST $host;
##把$remote_addr賦值給X-Real-IP,來獲取源IP
proxy_set_header X-Real-IP $remote_addr;
##在nginx 作為代理伺服器時,設定的IP列表,會把經過的機器ip,代理機器ip都記錄下來
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

#配置Nginx處理靜態圖片請求
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|css)$ {
root /usr/local/nginx/html/img;
expires 10d;
}

location / {


root html;
index index.html index.htm;
}
......
}
......
}