Nginx学习七:动静分离

文章目录

  • 一、概述
  • 二、架构图
  • 三、实现步骤
    • 第一步:拷贝两份nginx配置文件(静态代理)
    • 第二步:修改新拷贝的nginx81.conf和nginx82.conf配置文件
    • 第三步:负载均衡Nginx配置(nginx.conf)
      • 动态资源的负载均衡
      • 静态资源的负载均衡
    • 第四步:启动三台nginx服务器,启动两台tomcat服务器
    • 第五步:浏览器输入http://192.168.235.128/myweb/进行测试

一、概述

Nginx的负载均衡和静态代理结合在一起,我们可以实现动静分离,这是实际应用中常见的一种场景。

动态资源,如jsp由tomcat或其他web服务器完成
静态资源,如图片、css、js等由nginx服务器完成

它们各司其职,专注于做自己擅长的事情
动静分离充分利用了它们各自的优势,从而达到更高效合理的架构

二、架构图

Nginx学习七:动静分离_第1张图片
整个架构中,一个nginx负责负载均衡,两个nginx负责静态代理。Nginx在一台Linux上安装一份,可以启动多个Nginx,每个Nginx的配置文件不一样即可

三、实现步骤

第一步:拷贝两份nginx配置文件(静态代理)

Nginx学习七:动静分离_第2张图片

第二步:修改新拷贝的nginx81.conf和nginx82.conf配置文件

Nginx81.conf端口号,因为这两个机器只需要做静态代理,所以删除掉负载均衡的配置
Nginx学习七:动静分离_第3张图片
Nginx82.conf端口号,因为这两个机器只需要做静态代理,所以删除掉负载均衡的配置

Nginx学习七:动静分离_第4张图片
静态代理的配置

Nginx学习七:动静分离_第5张图片

第三步:负载均衡Nginx配置(nginx.conf)

动态资源的负载均衡

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;
    	}

静态资源的负载均衡

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;
}

Nginx学习七:动静分离_第6张图片

第四步:启动三台nginx服务器,启动两台tomcat服务器

Nginx学习七:动静分离_第7张图片

第五步:浏览器输入http://192.168.235.128/myweb/进行测试

关闭掉一台nginx静态代理服务器
关闭掉一台tomcat服务器

你可能感兴趣的:(nginx,nginx,服务器,linux)