广告位联系
返回顶部
分享到

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

nginx 来源:互联网 作者:佚名 发布时间:2026-09-26 20:59:42 人浏览
摘要

一、Nginx 中 location 匹配 (一)location匹配URL路径 1、根目录首页匹配 规则逻辑:location = / 表示精确匹配根路径(即用户访问 http://域名/ 时触发)。 配置说明: (1)root html; 指定网站根目录为

一、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:关闭防火墙

1

2

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

1

2

3

4

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) 具体查看有没有安装开发环境

1

java -version

步骤3:安装 tomcat

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

(2)修改服务名字

1

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

(3) 启动tomcat

1

2

/usr/local/tomcat/bin/shutdown.sh # 关闭

/usr/local/tomcat/bin/startup.sh # 启动

1

netstat -natp | grep java 

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

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

(二)动静分离配置

Tomcat1 server 配置

1

cd /usr/local/tomcat/webapps

1

2

3

4

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”

1

netstat -natp | grep 8080

Tomcat2 server 配置

1

2

cd /usr/local/tomcat/webapps/test

vim index.jsp

img

1

tp | grep 8080

Tomcat2 server 配置

1

2

cd /usr/local/tomcat/webapps/test

vim index.jsp

img


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • Nginx中Location匹配规则与Tomcat安装部署和动静分离

    Nginx中Location匹配规则与Tomcat安装部署和动静分离
    一、Nginx 中 location 匹配 (一)location匹配URL路径 1、根目录首页匹配 规则逻辑:location = / 表示精确匹配根路径(即用户访问 http://域名/ 时
  • IDEA中Tomcat热部署不生效后配置检查与修复教程
    在 IntelliJ IDEA 中使用 Tomcat 进行开发时,热部署(Hot Deployment)功能允许您修改代码后自动重新加载应用,无需重启服务器。如果热部署失效
  • nginx+tomcat负载均衡群集部署
    核心原理: Nginx:作为反向代理服务器和负载均衡器。它接收所有来自客户端的 HTTP/HTTPS 请求。 Tomcat 集群:部署多个相同的 Tomcat 实例(称
  • Nginx防盗链配置的完整实战介绍
    一、什么是防盗链?为什么需要它? 问题场景 假设你的服务器上有一张精美的图片http://your-site.com/images/photo.jpg,你的网站首页index.html中引
  • Nginx配置HTTPS + HTTP/2的全过程及避坑指南
    给站点配好 HTTPS,浏览器地址栏出现小锁头,很多人就以为搞定了。但拿去 SSL Labs(ssllabs.com/ssltest)一测,评分可能只有 B证书链不全导致部分客户
  • 配置Linux服务器防火墙放行指定端口的方法
    引言 防火墙是Linux服务器安全的重要组成部分,它用于管理流入和流出的网络流量,在网络安全中起着至关重要的作用。通过配置防火墙,
  • nginx实现对css,js文件缓存教程

    nginx实现对css,js文件缓存教程
    网页访问缓慢,响应时间长,想要优化网页访问速度,可以了解一下nginx缓存 首先我们先看一下 没设置之前的效果 总计5s才加载出全部页面
  • Nginx SSL/TLS双向认证实战介绍
    项目概述:从HTTP到HTTPS的安全升级 最近在部署一个内部API网关时,遇到了一个典型的需求:外部服务调用我们的接口,部分场景要求高安全
  • NGINX白名单的几种方法实现介绍
    1、需求 网关:172.16.0.48反向代理到 Nginx:172.16.0.32Nginx只允许来源是网关 172.16.0.48 访问,拒绝所有其它 IP。 关键点:经过代理转发,Nginx 拿
  • Nginx中Brotli的安装实现
    一、引言:为什么 Gzip 不再是终极答案? 在 Web 性能优化领域,Gzip 统治了二十余年。但随着网页体积的膨胀和移动端网络的普及,Gzip 的压
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计