upstream server_pool{ip_hash; server 192.168.5.21:80;server 192.168.5.22:80;}
Fair(第三方) 按后端服务器的响应时间来分配请求,响应时间短的优先分配 。
upstream server_pool{server 192.168.5.21:80;server 192.168.5.22:80; fair;}
Nginx 配置:动静分离
Nginx 动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离 。
严格意义上说应该是动态请求跟静态请求分开,可以理解成使用 Nginx 处理静态页面,Tomcat 处理动态页面 。
动静分离从目前实现角度来讲大致分为两种:
- 纯粹把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案;
- 动态跟静态文件混合在一起发布,通过 Nginx 来分开 。
具体 Expires 定义:是给一个资源设定一个过期时间,也就是说无需去服务端验证,直接通过浏览器自身确认是否过期即可, 所以不会产生额外的流量 。
此种方法非常适合不经常变动的资源(如果经常更新的文件, 不建议使用 Expires 来缓存) 。
我这里设置 3d,表示在这 3 天之内访问这个 URL,发送一个请求,比对服务器该文件最后更新时间没有变化,则不会从服务器抓取,返回状态码 304,如果有修改,则直接从服务器重新下载,返回状态码 200 。
①服务器找个目录存放自己的静态文件:
②修改 nginx.conf:
server {listen80;server_namelocalhost;location /static/ {root/usr/data/www;}location /image/ {root /usr/data/;autoindex on;}
③./nginx -s reload,验证效果:添加监听端口、访问名字重点是添加 Location,最后检查 Nginx 配置是否正确即可,然后测试动静分离是否成功,只需要删除后端 Tomcat 服务器上的某个静态文件,查看是否能访问,如果可以访问说明静态资源 Nginx 直接返回了,不走后端 Tomcat 服务器 。
Nginx 的 Rewrite
Rewrite 是 Nginx 服务器提供的一个重要的功能,它可以实现 URL 重写和重定向功能 。
场景如下:
- URL 访问跳转,支持开发设计 。页面跳转、兼容性支持(新旧版本更迭)、展示效果(网址精简)等
- SEO 优化(Nginx 伪静态的支持)
- 后台维护、流量转发等
- 安全(动态界面进行伪装)
该指令可以在 Server 块或 Location 块中配置,其基本语法结构如下:
rewrite regex replacement [flag];
①采用反向代理 Demo2 中的例子,修改 nginx.conf(只多加了一行 Rewrite):server {listen80;server_namelocalhost;location /java/ {proxy_pass http://127.0.0.1:8080;rewrite ^/java /egg/ redirect;}location /egg/ {proxy_pass http://127.0.0.1:8081;} }
②./nginx -s reload,验证效果(输入 ip/java/ 被重定向到了 egg):Rewrite 指令可以在 Server 块或 Location 块中配置,其基本语法结构如下:
rewrite regex replacement [flag];
- rewrite 的含义:该指令是实现 URL 重写的指令 。
- regex 的含义:用于匹配 URI 的正则表达式 。
- replacement:将 regex 正则匹配到的内容替换成 replacement 。
- flag:flag 标记 。
- last:本条规则匹配完成后,继续向下匹配新的 Location URI 规则 。(不常用)
- break:本条规则匹配完成即终止,不再匹配后面的任何规则(不常用) 。
推荐阅读
- 小编教你360软件管家设置安装在指定盘符文件夹的操作教程
- 怎么解决Win10专业版软件安装好桌面没有图标?
- 装修用的白板怎么安装
- 装修门是怎么装的
- Win7安装软件时提示“此程序被组策略阻止”怎么解决?
- 虚拟机vmware怎么安装Win11系统
- 卫生间装修如何安装马桶 如何安装马桶
- 我来分享无线鼠标驱动安装成功还是无法使用怎么办。
- 平板太阳能的安装方法 怎样安装太阳能板
- 苹果助手一键安装 苹果手机助手苹果版