第7章 动静分离
Nginx的负载均衡和静态代理结合在一起,我们可以实现动静分离,这是实际应用中常见的一种场景。
动态资源,如jsp由tomcat或其他web服务器完成
静态资源,如图片、css、js等由nginx服务器完成
它们各司其职,专注于做自己擅长的事情
动静分离充分利用了它们各自的优势,从而达到更高效合理的架构
7.1 动静分离案例
7.1.1 架构图
整个架构中,一个nginx负责负载均衡,两个nginx负责静态代理。Nginx在一台Linux上安装一份,可以启动多个Nginx,每个Nginx的配置文件不一样即可
7.1.2 实现步骤
(1) 拷贝两份nginx配置文件(静态代理)
(2) 修改新拷贝的nginx81.conf和nginx82.conf配置文件
Ø Nginx81.conf端口号,因为这两个机器只需要做静态代理,所以删除掉负载均衡的配置
Ø Nginx82.conf端口号,因为这两个机器只需要做静态代理,所以删除掉负载均衡的配置
Ø 静态代理的配置
(3) 负载均衡Nginx配置(nginx.conf)
A、 动态资源的负载均衡
upstream www.myweb.com {
server 127.0.0.1:9100 weight=5;
server 127.0.0.1:9200 weight=2;
}
location /myweb {
proxy_pass http://www.myweb.com;
}
B、 静态资源的负载均衡
upstream static.myweb.com {
server 127.0.0.1:81 weight=1;
server 127.0.0.1:82 weight=1;
}
location ~ .*/(css|js|img|images) {
proxy_pass http://static.myweb.com;
}
(4) 启动三台nginx服务器,启动两台tomcat服务器
Nginx在一台Linux上安装一份,可以启动多个Nginx,每个Nginx的配置文件不一样即可
(5) 浏览器输入http://192.168.235.128/myweb/进行测试
关闭掉一台nginx静态代理服务器
关闭掉一台tomcat服务器