当前位置: 代码网 > it编程>编程语言>Java > Nginx中Location匹配规则与Tomcat安装部署和动静分离实践指南

Nginx中Location匹配规则与Tomcat安装部署和动静分离实践指南

2026年09月24日 Java 我要评论
一、nginx 中 location 匹配(一)location匹配url路径1、根目录首页匹配规则逻辑:location = / 表示精确匹配根路径(即用户访问 http://域名/ 时触发)。配置

一、nginx 中 location 匹配

(一)location匹配url路径

1、根目录首页匹配

img

  • 规则逻辑:location = / 表示精确匹配根路径(即用户访问 http://域名/ 时触发)。
  • 配置说明

(1)root html; 指定网站根目录为 html 文件夹(nginx 默认的静态文件目录);
(2)index index.html index.htm; 定义默认首页文件,优先返回 index.html,若不存在则返回 index.htm

作用:加速处理官网首页的访问,确保用户打开网站时能快速加载首页内容

2、静态文件请求处理

(1)针对静态资源目录的匹配

img

  • 规则逻辑:location ^~ /static/ 表示前缀匹配且优先于正则匹配,即所有以 /static/ 开头的请求

(如 /static/css/main.css、/static/js/app.js)都会触发该规则。

  • 配置说明:root /webroot/; 指定静态资源的根目录为 /webroot/,即实际文件路径为 /webroot/static/…

(2)针对静态文件后缀的正则匹配

img

  • 规则逻辑:location ~* 表示不区分大小写的正则匹配,这里匹配以 .gif、 . jpg、.js 等后缀结尾的静态文件请求。
  • 配置说明:root /webroot/res/; 指定这些静态文件的根目录为 /webroot/res/,便于集中管理图片、样式、脚本等资源。
  • 作用:利用 nginx 处理静态文件的高性能优势,将静态文件请求直接由 nginx 响应,减轻后端应用服务器的压力

3、动态页面请求转发

(1)php 动态请求转发

img

  • 规则逻辑:location ~ .php$ 表示正则匹配以 .php 结尾的请求(如index.php、user.php)。
  • 配置说明:fastcgi_pass php_server:9000; 将 php 动态请求转发至 fastcgi 服务器(如 php-fpm,监听 9000 端口)处理

(2)jsp 动态请求转发

img

  • 规则逻辑:location ~ .jsp$ 表示正则匹配以 .jsp 结尾的请求(如 index.jsp、home.jsp)。
  • 配置说明:proxy_pass http://tomcat_server; 将 jsp 动态请求反向代理至 tomcat 应用服务器处理。
  • 作用:将动态请求与静态请求分离,由专门的后端应用服务器处理业务逻辑,提升整体架构的扩展性和性能。

img

(二)location 匹配规则

1、匹配类型(三类核心匹配逻辑)

(1)精准匹配

  • 语法:location = / {…}
  • 规则:对 url 进行普通字符的精确完全匹配,只有 url 与配置的路径完全一致时才触发。

(2)一般匹配

  • 语法:location / {…}
  • 规则:匹配所有以 / 开头的请求,遵循最长前缀匹配原则(即哪个配置的前缀与 url 匹配的长度最长,就优先触发哪个)。

(3)正则匹配

  • **区分大小写的正则匹配:**语法 location ~ / {…}

示例:location ~ .php$ 匹配以 .php 结尾的请求(如 index.php),且对大小写敏感(若请求是 .php 则不匹配)。

  • **不区分大小写的正则匹配:*语法 location ~ / {…}

示例:location ~* .jpg$ 既匹配 .jpg 也匹配 .jpg 的图片请求。

img

2、匹配修饰符(细化匹配规则的符号)

最终的目的:为了尽量精确、快速、低消耗的找到用户请求的文件/功能

3、local优先级

①精确匹配=

②前缀匹配 ^~

③正则匹配 ~或 ~*(按文件中顺序)

④不带修饰符的一般前缀匹配

⑤通用匹配/

(三)rewrite:重写–>重写用户访问的url路径

rewrite语法:

rewrite 原路径 新路径 [标志位];

● last:停止当前rewrite,用新路径重新匹配location

● break:停止所有rewrite

● redirect:302临时重定向

● permanent:301永久重定向

二、tomcat

动态任务处理的一个服务端,tomcat主要作用:提供java语言的运行环境,对前与nginx进行写作完成动-静分离,对后-可以连接数据斥,读/号数据记录。

(一)部署 tomcat

步骤1:关闭防火墙

systemctl disable firewalld --now
setenforce 0

步骤2:配置环境

(1)tar xf jdk-8u91-linux-x64.tar.gz

(2)mv jdk1.8.0_91 /usr/local

(3)vim /etc/profile

export java_home=/usr/local/jdk1.8.0_91
export jre_home=${java_home}/jre
export classpath=.:javahome/lib:{java_home}/lib:javah​ome/lib:{jre_home}/lib
export path=javahome/bin:{java_home}/bin:javah​ome/bin:path

(4)刷新:source /etc/profile

(5) 具体查看有没有安装开发环境

java -version

步骤3:安装 tomcat

(1) tar zxvf apache-tomcat-8.5.16.tar.gz

(2)修改服务名字

mv /opt/apache-tomcat-8.5.16/ /usr/local/tomcat

(3) 启动tomcat

/usr/local/tomcat/bin/shutdown.sh # 关闭
/usr/local/tomcat/bin/startup.sh # 启动

netstat -natp | grep java 

步骤4:测试访问状态统计页面

打开浏览器,输入:192.168.255.128:8080

(二)动静分离配置

tomcat1 server 配置

cd /usr/local/tomcat/webapps

cd test/
vim index.jsp
<%@ page language=“java” import=“java.util.*” pageencoding=“utf-8”%>
<% out.println(“动态页面 1,http://www.test1.com”);%>

img

vim server.xml

xmlvalidation=“false” xmlnamespaceaware=“false”

netstat -natp | grep 8080

tomcat2 server 配置

cd /usr/local/tomcat/webapps/test
vim index.jsp

img

tp | grep 8080

tomcat2 server 配置

cd /usr/local/tomcat/webapps/test
vim index.jsp

img

总结

到此这篇关于nginx中location匹配规则与tomcat安装部署和动静分离实践指南的文章就介绍到这了,更多相关location匹配规则与tomcat安装部署内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com