Nginx【location指令、虚拟主机的分类、Nginx支持三种类型的虚拟主机配置 】(三)-全面详解(学习总结---从入门到深化)

news2024/11/17 3:52:43

  

目录

Nginx配置指令详解_location指令

虚拟主机的分类

Nginx支持三种类型的虚拟主机配置 


Nginx配置指令详解_location指令

配置location块 

语法:

URL // http://ip:port/
location [ = | ~ | ~* | ^~] uri {
     ...
}

示例1 

没有修饰符 表示:必须以指定模式开始,如:

server {
  server_name *.*;
  location /abc {
    ……
  }
}

注意如下是对的:

http://baidu.com/abc

http://baidu.com/abc?p1=12312&name=w24

http://baidu.com/abc/

http://baidu.com/abcde

示例2 

= 表示:必须与指定的模式精确匹配

server {
   server_name *.*;
  location = /abc {
    ……
  }
}

注意:

那么,如下是对的:

http://baidu.com/abc

http://baidu.com/abc?p1

如下是错的:

http://baidu.com/abc/ http://baidu.com/abcde

示例3 

~ 表示:指定的正则表达式要区分大小写

server {
   server_name *.*;
  location ~ ^/abc$ {
    ……
  }
}

注意:

对的

http://baidu.com/abc

http://baidu.com/abc?name=wcc&password=123

错误

http://baidu.com/ABC

http://baidu.com/abc/

http://baidu.com/abcde

示例4 

~* 表示:指定的正则表达式不区分大小写

server {
server_name *.*;
location ~* ^/abc$ {
    ……
  }
}

注意:

那么,如下是对的:

http://baidu.com/abc

http://baidu..com/ABC

http://baidu..com/abc?p1=11&p2=22

如下是错的:

http://baidu..com/abc/

http://baidu..com/abcde

优先级 

示例

location = / {
 # 只匹配请求 "/"
 [ configuration A ]
}
location / {
 # 匹配任何请求,因为所有请求都是以"/"开始
 # 但是更长字符匹配或者正则表达式匹配会优先匹配
 [ configuration B ]
}
location /documents/ {
 # 匹配所有 /documents/ 开头的请求,在没有正则表
达
 # 式匹配时选择该locaiton
 [ configuration C ]
}
location ^~ /images/ {
 # 匹配任何以 /images/ 开始的请求,并停止匹配其它
location
 [ configuration D ]
}
location ~* .(gif|jpg|jpeg)$ {
 # 匹配以 gif, jpg, or jpeg结尾的请求.
 # 但是所有 /images/ 目录的请求将由
[Configuration D]处理.  
 [ configuration E ]
}

结论:

1、 / -> 匹配A

2、 /index.html -> 匹配B

3、 /documents/a.html -> 匹配C

4、 /images/1.gif -> 匹配D

5、 /documents/1.jpg -> 匹配E

配置请求的根目录 

Web服务器接收到网络请求之后,首先要在服务器端指定目录中寻找请求资源。在Nginx服务器中,指令root就是用来配置这个根目录的。

语法结构: 

 root path;

path为Nginx服务器接收到请求以后查找资源的根目录路径。

示例:

location /data/
{
root /localtion1;
}

注意:

当location块接收到“data/index.htm”的请求时,将在几 locationtest1/data/目录下找到index.htm响应请求。

实时效果反馈

1. 在Nginx核心配置文件中location指令url匹配顺序_____。 

A =、^~、~*、~

B ^~、=、~*、~

C =、^~、~、~*

D ~、^~、~*、=

虚拟主机的分类

概述 

虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台 计算机分成多个虚拟主机,每个虚拟主机可以独立对外提供 www服务,这样就可以实现一台主机对外提供多个web服务, 每个虚拟主机之间是独立的,互不影响的。

 

Nginx支持三种类型的虚拟主机配置 

基于IP的虚拟主机

基于端口的虚拟主机 

基于域名的虚拟主机 

实时效果反馈

1. 下列不属于Nginx虚拟主机分类的是。

A 基于域名的虚拟主机

B 基于端口的虚拟主机

C 基于nat的虚拟主机

D 基于IP的虚拟主机 

2. 下列描述Nginx虚拟主机错误的是。

A 通过域名来区分虚拟主机,应用于外部网站

B 通过端口来区分虚拟主机,应用于公司内部网站,网站后台

C ip虚拟主机几乎不用

D 虚拟主机加大了服务器成本

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/711781.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

UE5 MetaHuman SDK插件的使用【二、聊天机器人】

目录 制作: 流程制作【相对复杂但逻辑清楚】: 快速制作【有个函数把上面的流程全部合在了一起,只需要用一个函数即可】 3个结构体的参数 combo后面的逻辑: 效果: ​编辑 代码 在前面的文章中,我们创…

geoserver发布arcgis server离线瓦片

1.使用tif文件也可以发布服务,但是我下载的tif文件发布的服务总数模糊不清,原因可能是地图比例尺问题。 2.仔细研究,发现下载的arcgis server瓦片都是高清的,于是想到直接加载arcgis瓦片,这样图片/坐标系之间问题都完…

Python3 实例(四) | 菜鸟教程(二十二)

目录 一、Python 堆排序 二、Python 计数排序 三、Python 希尔排序 四、Python 拓扑排序 五、Python 简单的银行系统 一、Python 堆排序 (一)堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。 (二…

【JUC-6】AQS介绍,基于AQS实现自己的锁

什么是AQS AbstractQueuedSynchronizer(抽象队列同步器,简称AQS)出现在JDK 1.5中。AQS是很多同步器的基础框架,比如ReentrantLock、CountDownLatch和Semaphore等都是基于AQS实现的。除此之外,我们还可以基于AQS,定制出我们所需要…

关于LiveData全面详解(附事件总线)

前言:缤纷色彩闪出的美丽 是因它没有 分开每种色彩 前言 MVVM 架构模式中,ViewModel 是不会持有宿主的信息,业务逻辑在 ViewModels 层中完成,而不是在 Activities 或 Fragments 中。LiveData 在里面担任数据驱动的作用&#xff1…

ElementPlus的Collapse 折叠面板问题

我也不明白为什么会报这个错误,把关于ts的代码改成js的就可以了。。 ERROR in ./src/views/Home.vue?vue&typescript&langts&setuptrue (./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/Home.vue?vue&typescript&…

大厂经验,基于资产健康度量化的小米数据治理实践

摘要:随着小米公司各项业务的快速发展,数据中的商业价值也愈发突显。而与此同时,各业务团队在数据查询、分析等方面的压力同样正在剧增。小米大数据团队用大数据管理大数据,从存储、计算、规范、质量、安全五方面着手治理&#xf…

java swing实现JTextField文本框的输入提示补全功能,以登陆界面自动提示补全用户账号为例,自动填充账号密码

前言 如果您想了解更多的java项目功能源码,请订阅我的专栏: java项目源码合集100+ 一、实现的功能 在使用java做界面实现输入功能的时候,使用了JTextField文本输入组件,希望能够根据用户的输入,自动提示,之后用户可以选择提示的内容作为文本框的输入内容,效果如下: 当…

Java中的阻塞队列使用以及详解

文章目录 一、Queue接口1. 常见方法以及功能(不具有阻塞队列特性)1.1 add(E e)1.2. offer():1.3. remove()1.4. poll()1.5. element()1.6. peek() 2. add和offer对比:3. remove和poll对比:4. element#peek方法对比: 二、BlockingQueue阻塞队列…

MySQL:子查询(全面详解)

MySQL:子查询 前言一、需求分析与问题解决1、实际问题2、子查询的基本使用3、子查询的分类 二、单行子查询1、单行比较操作符2、代码示例3、HAVING 中的子查询4、CASE中的子查询5、子查询中的空值问题6、非法使用子查询 三、多行子查询1、多行比较操作符2、代码示例…

Unity VR 开发教程 OpenXR+XR Interaction Toolkit(八)手指触控 Poke Interaction

文章目录 📕教程说明📕XR Poke Interactor📕与 UI 进行触控交互⭐添加 Tracked Device Graphic Raycaster 和 XR UI Input Module 让 UI 可被交互 📕与物体进行交互⭐XR Simple Interactable⭐XR Poke Filter 往期回顾&#xff1a…

偏爱console.log的你,肯定会觉得这个插件泰裤辣!

前言 毋庸置疑,要说前端调试代码用的最多的,肯定是console.log,虽然我现在 debugger 用的比较多,但对于生产环境、小程序真机调试,还是需要用到 log 来查看变量值,比如我下午遇到个场景:选择完…

单片机-串口通信

1.串口向电脑发送数据 1.配置串口 T1定时器,方式二8位重装 void UartInit(void) //4800bps11.0592MHz {PCON & 0x7F; //波特率不倍速SCON 0x50; //8位数据,可变波特率TMOD & 0x0F; //清除定时器1模式位TMOD | 0x20; //设定定时器1为8位自动重装方式…

Win11桌面右键菜单怎么变成老版本?

Win11桌面右键菜单怎么变成老版本?Win11系统带来了许多新的功能和改进,其中一个显著的变化是Win11桌面右键菜单的设计和布局,所以有些用户就想把Win11桌面右键菜单变成老版本,那具体怎么操作,可以按照以下小编分享的方…

chatgpt赋能python:用Python关机:简单、快捷、高效的关机方式

用Python关机:简单、快捷、高效的关机方式 介绍 在我们使用计算机的日常生活中,关机是必不可少的一个要素。传统的关机方式通常是通过点击“开始”菜单——“关机”按钮来完成的。但是,使用Python可以让我们更加方便和高效地完成关机操作。…

海外媒体发稿:海外新闻发表文章的必要性

海外新闻发表文章,是指国外企业在当地新闻媒体上发表企业信息和企业企业形象活动,通过专业媒体网络资源,依靠技术专业的报道发稿平台,让国外企业迅速、精确、低成本开展海外新闻稿子的出台,根据媒体报导,提…

PyQt5入门1——PyQt5的安装与Hello World应用

PyQt5入门1——PyQt5的安装与Hello World应用 学习前言简介(From 百度百科)安装Hello World1、窗口构建a、构建基础类b、编写UI 2、主程序运行 全部代码 学习前言 搞搞可视化界面哈,虽然不一定有用,但是搞一下。 简介&#xff…

Makefile实战

文章目录 1、准备环境1.2、规则1.3、假目标1.4、变量1.5、自动变量1.6、函数addprefix 函数filter函数filter-out函数patsubst函数strip函数wildcard函数 1、准备环境 准备一台Linux机器,验证环境中是否呗正确安装了,使用make -v命令进行验证 1.2、规则 …

React中useState的setState方法请求了好多次

1、问题描述 最近在写react的时候碰到了一个很奇怪的问题。 可以看到那个getXXX()的方法一直不断的被调用,网页一直请求,根本停不下来了。 2、产生原因 要弄明白这个原因,首先要先了解一下react生命周期。 react是组件式的编程,一…

青岛大学_王卓老师【数据结构与算法】Week04_01_循环链表_学习笔记

本文是个人学习笔记,素材来自青岛大学王卓老师的教学视频。 一方面用于学习记录与分享,另一方面是想让更多的人看到这么好的《数据结构与算法》的学习视频。 如有侵权,请留言作删文处理。 课程视频链接: 数据结构与算法基础–…