分布式 - 服务器Nginx:一小时入门系列之动静分离

news/2024/11/15 23:26:13/

文章目录

      • 1. 动静分离的好处
      • 2. 分离静态文件
      • 3. 修改 Nginx 配置文件
      • 4. location 命令修饰符优先级

1. 动静分离的好处

Apache Tocmat 严格来说是一款java EE服务器,主要是用来处理 servlet请求。处理css、js、图片这些静态文件的IO性能不够好,因此,将静态文件交给nginx处理,可以提高系统的访问速度,减少tomcat的请求次数,有效的给后端服务器降压。

2. 分离静态文件

在这里插入图片描述

部署 ruoyi-admin.war

# 将ruoyi-admin.war移动到/home/apache-tomcat-8.5.81/webapps目录下,并重命名为ROOT.war
mv /home/apps/ruoyi-admin.war /home/apache-tomcat-8.5.81/webapps/ROOT.war
rm -rf /home/apache-tomcat-8.5.81/webapps/ROOT
# 启动Tomcat容器
/home/apache-tomcat-8.5.81/bin/startup.sh

部署完成后,对项目目录稍作调整:

cd /home/apache-tomcat-8.5.81/webapps/ROOT
# 将WEB-INF/classes/static目录下的i18n目录,移动到WEB-INF/classes/templates/目录下
mv WEB-INF/classes/static/i18n  WEB-INF/classes/templates/i18n 
# 将static目录下的文件,移动到/home/www/目录下
mv WEB-INF/classes/static /some/path
# 给/some/path目录赋予所有操作权限
chmod -R 777 /some/path
# 启动Tomcat容器
/home/apache-tomcat-8.5.81/bin/startup.sh

修改application.yaml文件:

messages:# 国际化资源文件路径 # 将 static/i18n/messages 修改为 templates/i18n/messagesbasename: templates/i18n/messages

调整后 WEB-INF/classes/ 目录下的的结构:

在这里插入图片描述

静态文件 /some/path/ 目录说明:除了js、css、图片文件之外,还有字体文件和一个ie提示页面。

在这里插入图片描述

3. 修改 Nginx 配置文件

在/etc/nginx/conf.d文件夹下新增 8002.conf 配置文件:

[root@nginx-dev conf.d]# cat 8002.conf
server{listen 8002;server_name rioyi.tomcat;# 请求转达到 http://localhost:8080 location / {proxy_pass http://localhost:8080;}# 请求ie页面location = /html/ie.html {root  /some/path/static;}# 请求字体文件location ^~ /fonts/ {root  /some/path/static;}# css|js|png|jpg|gif|ico 页面location ~ \.(css|js|png|jpg|gif|ico) {root /some/path/static;}
}
[root@nginx-dev conf.d]# nginx -s reload

访问 http://192.168.1.9:8002 即可访问若依后台管理系统。

在这里插入图片描述

直接访问某个静态文件:http://192.168.1.9:8002/css/login.min.css,就会进入 /some/path/static/ruoyi/css/ry-ui.css

在这里插入图片描述

4. location 命令修饰符优先级

location可以使用修饰符或正则表达式

① 修饰符:

  • =:等于,严格匹配 ,匹配优先级最高。

  • ^~:表示普通字符匹配。使用前缀匹配。如果匹配成功,则不再匹配其它 location。优先级第二高。

  • ~:区分大小写

  • ~*:不区分大小写

② 优先级从高到低依次为:

  1. 精确匹配(=)
  2. 前缀匹配(^~)
  3. 正则匹配(~和~*)
  4. 不写

http://www.ppmy.cn/news/1028046.html

相关文章

CSS:服务器字体 与 响应式布局(用法 + 例子 + 效果)

文章目录 服务器字体定义 服务器字体使用例子 响应式布局设备类型设备特性例子 服务器字体 解决字体不一致而产生的。 首先,在网上把字体下载好。 定义 服务器字体 font-face{font-family:字体名称;src:url(字体资源路径); }使用 在需要使用的选择器里加上 font…

山景DSP芯片可烧录AP8224C2音频处理器方案

AP8224C2高性能32位音频应用处理器AP82系列音频处理器是面向音频应用领域设计的新一代SoC平台产品,适用于传统音响系统、新兴的蓝牙或Wifi 无线音频产品、Sound Bar 和调音台等市场。该处理器在总体架构和系统组成上,充分考虑了音频领域的特点&#xff0…

Redis 搭建分片集群

文章目录 0.10.2 散列插槽0.3 集群伸缩0.3.1 需求分析0.3.1 创建新的 Redis 实例0.3.3 添加新节点到 Redis0.3.4 转移插槽 0.4 故障转移0.4.1 自动故障转移0.4.2 生动故障转移 0.5 RedisTemplate访问分片集群 1. 集群架构2. 准备实例和配置3. 启动4. 创建集群5. 测试 0.1 主从…

Python中pass语句的作用

问题:Python中pass语句的作用是什么? 在Python中,pass 是一个空语句,为了保持程序结构的完整性,一般情况下pass语句不做任何事情,被用作占位符 pass语句的作用 ① 空语句 do nothing,起到占位的…

redis学习笔记(五)

文章目录 hash(哈希)(1)设置指定键的属性/域(2)获取指定键的域/属性的值(3)获取hash的所有域值对(4)删除指定键的域/属性(5)判断指定属…

类与对象(入门)

目录 1.前言 2.类的引入 3.类的定义 4.类的访问限定符及封装 4.1 访问限定符 4.2 封装 5.类的作用域 6.类的实例化 7. 结构体内存对齐规则 8.this指针 8.1 this指针的引出 8.2 this指针的特性 1.前言 C 是 基于面向对象 的, 关注 的是 对象 ,…

99. for循环练习题-3种方式输出0-9

【目录】 文章目录 99. for循环练习题-3种方式输出0-91. for循环和while循环的区别2. 输出 0~(n-1)的数字2.1 基础代码2.2 自定义函数代码2.3 异常处理语句代码 【正文】 99. for循环练习题-3种方式输出0-9 1. for循环和while循环的区别 for循环和while循环都用于重复执行特定…

Netty:ByteBuf跳过一定长度的字节

说明 io.netty.buffer.ByteBuf可以调用skipBytes(int length)函数跳出length个字节,并将buffer的readerIndex增长length。 示例 package com.thb;import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.util.ByteProcessor;public …