RHCE的学习(6)

ops/2024/10/23 18:30:19/

web服务器的注意点:

⚠️uri中的斜线,如:

location /test {      # 尾部无/...
}location /test/ {...
}
  • 不带 / 当访问 http://www.nginx-test.com/test 时, Nginx 先找是否有 test 目录,如果有则找 test 目录下的 index.html ;如果没有 test 目录, nginx则会找是否有 test 文件。

  • 带 / 当访问 http://www.nginx-test.com/test 时,只是查找 test 目录下的 index.html 。

  • server_name指令一般用于指定虚拟主机的域名,在匹配时有以下四中写法

    • 精确匹配:server_name http://www.nginx.com ;

    • 左侧匹配:server_name *.http://nginx.com ;

    • 右侧匹配:server_name www.nginx.* ;

    • 正则匹配:server_name ~^www.nginx.*$ ;

    • 注:匹配优先级:精确匹配 > 左侧通配符匹配 > 右侧通配符匹配 > 正则表达式匹配

  • root指令与alias指令区别

    • root指令用于静态资源目录位置,它可以写在 http 、 server 、 location 等配置中,root指令定义的路径会与 URI 叠加产生最终访问路径,如:

    • location /image {root /opt/nginx/static;
      }# 当用户访问 www.test.com/image/1.png 时,实际在服务器找的路径是 
      /opt/nginx/static/image/1.png
    • alias也是指定静态资源目录位置,但只能访问指定的绝对路径,不会叠加目录,只能写在 location 中且末尾一定要添加 / , 如:

    • location /image {alias /opt/nginx/static/image/;
      }#当用户访问 www.test.com/image/1.png 时,实际在服务器找的路径是 
      /opt/nginx/static/image/1.png

  • location匹配路径

    • 格式:

    • location   [ = | ~ | ~* | ^~ ] uri {...
      }
    • 匹配规则:

      • = 精确匹配;

      • ~ 正则匹配,区分大小写;

      • ~* 正则匹配,不区分大小写;

      • ^~ 匹配以某个字符串开头,不是正则匹配;

      • / 通用匹配,如果没有其它匹配,任何请求都会匹配到

      • 注:匹配优先级:= > ^~ > ~ > ~* > 不带任何字符。

    • 示例

  • server {listen  80;server_name  www.nginx-test.com;# 只有当访问 www.nginx-test.com/match_all/ 时才会匹配#到/usr/share/nginx/html/match_all/index.htmllocation = /match_all/ {root  /usr/share/nginx/htmlindex index.html}# 当访问 www.nginx-test.com/1.jpg 等路径时会去# /usr/share/nginx/images/1.jpg 找对应的资源location ~ \.(jpeg|jpg|png|svg)$ {   root /usr/share/nginx/images;}# 当访问 www.nginx-test.com/bbs/ 时会匹配上 #/usr/share/nginx/html/bbs/index.htmllocation ^~ /bbs/ {root /usr/share/nginx/html;   index index.html index.htm;}
    }# 注意:
    location / {root html;index index.html index.htm;}
    # 其/不是根目录而是统统都匹配到指定路径,而指定路径为html ,
    #即nginx的默认网页目录/usr/share/nginx/html

nginx.conf 配置文件的语法规则

  • 配置文件由指令与指令块构成

  • 每条指令以 “;” 分号结尾,指令与参数间以空格符号分隔

  • 指令块以 {} 大括号将多条指令组织在一起

  • include 语句允许组合多个配置文件以提升可维护性

  • 通过 # 符号添加注释,提高可读性

  • 通过 $ 符号使用变量

  • 部分指令的参数支持正则表达式,例如常用的 location 指令


http://www.ppmy.cn/ops/127894.html

相关文章

UniAD本地测试(使用docker搭建训练环境)

文章目录 一、构建docker镜像二、从docker镜像构建容器2.1 构建容器2.2 测试环境是否正常 三、下载预训练权重文件四、数据准备4.1 下载数据集4.2 建立文件夹的软连接4.3 生成数据信息4.3.1 调整包的版本 4.4 准备Motion Anchors 五、训练评估5.1 测试环境是否正常5.2 训练模型…

Docker 下安装 ElasticSearch 和 Kibana (单节点)

Docker 下安装 ElasticSearch 和 Kibana (单节点) Docker 安装 ES 创建 docker 网络 需要 docker 中的 es 和 kibana 进行网络通信,使用 docker 网络进行容器间通信 # 创建名为 es-network 的桥接网络 docker network create es-network# 查…

100种算法【Python版】第4篇——回溯法

念念不忘,必有回响 1 回溯法原理2 示例说明2.1 生成子集2.1.1 回溯法思路2.1.2 Python3代码2.2 N皇后问题2.2.1 回溯法思路2.2.2 Python3代码3 回溯法应用3.1 组合3.1.1 回溯法思路3.1.2 Python3代码3.2 数独 Solver3.2.1 回溯法思路3.2.2 Python3代码3.3 多重背包问题3.3.1 P…

‌竞赛报名网站毕设计算机毕业设计基于SpringBootSSM框架

目录 一.摘要 二.概述 2.1 国内外研究 三、需求分析 3.1 实现步骤 四. 功能描述 4.2 功能图展示 4.3相关技术 一.摘要 本文旨在设计并实现一个竞赛报名网站,以满足各类竞赛活动的在线报名需求。通过对用户需求的分析,确定了网站的主要功能&…

明日周刊-第23期

十月已过半,气温也转凉了,大家注意保温哦。冬吃萝卜,夏吃姜,在快要到来的冬季大家可以选择多吃点萝卜。 配图是本周末去商场抓娃娃的时候拍的照片,现在抓娃娃单次普遍都控制在1块钱以下了,还记得多年前的抓…

软件定义汽车时代,当前智能汽车软件开发模式是什么?

软件定义汽车,EE架构从分布式向中央计算演进。当前智能汽车控制器正在从智驾域、座舱域、车身域、动力域和底盘域等五域于一体的网关时代向可能仅剩下前区、后区控制器的中央计算时代演进。 智舱一体、行泊一体大融合情况下,智能汽车的开发模式是什么&a…

【CSS】网页美学的魔法画笔

我的主页:2的n次方_ CSS 用于定义网页的样式,包括字体、颜色、布局、背景等各个方面。它与 HTML 紧密结合,HTML 负责构建网页的结构,而 CSS 则负责美化这个结构。 1. 三种引入方式 1.1. 行内样式 直接在标签内引用 style …

【python3】函数注解

Python 函数注解 (Function Annotations) Python 函数注解 (Function Annotations)函数注解的基本语法基本语法格式示例 特殊类型注解注解信息的存储与访问函数注解的实际用途注意事项小结 函数注解是 Python 的一种特性,用于为函数的参数和返回值添加 元数据。注解…