Nginx+Tomcat负载均衡、动静分离集群
一.Nginx负载均衡实现原理
① Nginx实现负载均衡是通过反向代理实现
② 反向代理原理
③ Nginx 配置反向代理的主要参数
二.Nginx动静分离实现原理
① 动静分离原理
② Nginx 静态处理优势
1.准备三台服务器,Nginx作为负载均衡器,Tomcat作为应用服务器
2.部署Nginx 负载均衡器
3.部署2台Tomcat 应用服务器
4.动静分离配置


 

图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_nginx

 

 

 图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_tomcat_02

 

 

 图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_tomcat_03

 

 

 图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_tomcat_04

 

 

 图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_服务器_05

 

 

 图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_tomcat_06

 

 

 图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_反向代理_07

 

 

 图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_服务器_08

 

 

 图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_tomcat_09

 

 

 图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_nginx_10

 

 

 图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_tomcat_11

 

 

 图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_反向代理_12

 

 

 图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_tomcat_13

 

 

 图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_html_14

 

 

 图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_nginx_15

 

 

 图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_nginx_16

 

 

 图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_反向代理_17

 

 

 图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_html_18

 

 

 图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_反向代理_19

 

 

 图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_反向代理_20

 

 

 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 / {图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_html_21

 


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

图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_html_22

 

 图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_服务器_23

 

 图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_tomcat_24

 

 图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_反向代理_25

 

 图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_tomcat_26

 

 图文详解 配置Nginx+Tomcat负载均衡、动静分离集群_服务器_27