Nginx网络服务二-----(虚拟机和location)

一、HTTP设置

1.设置虚拟主机

1.1Nginx 基于域名---虚拟主机

include    /apps/nginx/conf.d/*.conf;

1.2Nginx 基于端口---虚拟主机

在做了域名的基础上,按照以下步骤继续

1.3Nginx 基于IP---虚拟主机

2.server下的root

root路径格式   指定文件的路径    url  
Syntax:    root path;
Default:    
root html;
Context:    http, server, location, 

指明  你软件的根目录

3.location基本匹配

www.kgc.com/ url

文件路径描述符

在一个server中location配置段可存在多个,用于实现从uri到文件系统的路径映射;ngnix会根据用户请求的URI来检查定义的所有location,按一定的优化级找出一个最佳匹配,而后应用其配置在没有使用正则表达式的时候,nginx会先在server中的多个location选取匹配度最高的一个uri,uri是用户请求的字符串,即域名后面的web文件路径,然后使用该location模块中的正则url和字符串,如果匹配成功就结束搜索,并使用此location处理此请求。

location 官方帮助:

Module ngx_http_core_module

小实验: 

3.1

3.2 

3.3

root与location

root:指明根目录位置

location:根据用户访问地址的不同,指定访问的目录

如果定义了 location,但在她的下面没有些内容,相当于没写

4.alias别名

4.1

4.2

server {
   listen 80;
   server_name www.kgc.com;
   location /nwes {
        root /data/nginx/html/pc/;
        #相当于追加  将 文件夹news追加到/data/nginx/html/pc/news
        }
   location /study{
        alias /mnt/nginx/sports/;
        #相当于替换 你访问 study  就是访问/mnt/nginx/sports
        }
}
 

5.location对应语法规则匹配

5.1语法规则:

#语法规则:
location [ = | ~ | ~* | ^~ ] uri { ... }

=                  #用于标准url前,需要请求字串与uri精确匹配,大小敏感,如果匹配成功就停止向下匹配并立即处理请求


^~                #用于标准url前,表示包含正则表达式,并且匹配以指定的正则表达式开头,对URI的最左边部分做匹配检查,不区分字符大小写


~                  #用于标准url前,表示包含正则表达式,并且区分大小写


~*                #用于标准url前,表示包含正则表达式,并且不区分大写


不带符号              #匹配起始于此url的所有的url

#\                #用于标准url前,表示包含正则表达式并且转义字符。可以将 . * ?等转义为普通符号

#匹配优先级从高到低:
=, ^~, ~/~*(谁在前面,谁高), 不带符号

=

=  代表精确匹配,大小写敏感

不带符号

起始于根   /

^~

表示包含正则表达式,匹配以指定的正则表达式开头

不分大小写

~

正则表达式,匹配里面包含的内容

区分大小写

~*

正则表达式,匹配包含的内容

不区分大小写

5.2不区分大小写

~* 用来对用户请求的uri做模糊匹配,uri中无论都是大写、都是小写或者大小写混合,此模式也都会匹配,通常使用此模式匹配用户request中的静态资源并继续做下一步操作,此方式使用较多注意: 此方式中,对于Linux文件系统上的文件仍然是区分大小写的,如果磁盘文件不存在,仍会提示404 ~*

虽然 不区分大小写 但是系统的文件系统区分大小写

 5.2.1

5.2.2

 5.2.3

查看结果,是static1

=  优先级最高

 

 5.2.4

删除static1后,查看结果,看到的是static3

~*  比  /  优先级高

 

 5.2.5

我们可以看到,是static1的图片

~*  和  ~不分优先级,谁在前面就谁高

总结:

6.access模块  四层控制

如何查看模块是否默认安装

http://nginx.org/en/docs/http/ngx_http_access_module.html

[root@localhost nginx-1.18.0]#./configure --help |grep access
# 可以去源码包中 过滤  access模块  自带 不想要可以 without 去掉 
  --without-http_access_module       disable ngx_http_access_module
  --http-log-path=PATH               set http access log pathname
  --without-stream_access_module     disable ngx_stream_access_module


location / {
    deny  192.168.1.1;
    allow 192.168.1.0/24;
    allow 10.1.1.0/16;
    allow 2001:0db8::/32;
    deny  all;
}

配置文件修改
server {
   listen 80;
   server_name www.kgc.com;
   allow 192.168.91.0/24;
   deny 192.168.91.101;
   location / {
        root /data/nginx/html/pc;
 }
}

匹配了之后就不往下匹配了
所以范围小的往上

#############
当访问 有问题时   默认站点 是按 文件的名字首字母开头排序
 

7.禁止

 

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

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

相关文章

DataX学习详解

参考视频 02_DataX_概述_哔哩哔哩_bilibili 参考文档 大数据技术之DataX-阿里云开发者社区 介绍 DataX 是阿里巴巴开源的一个 异构数据源 离线 同步工具 致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP,MongDB等各种异构数据源之间…

[python][whl]PyOpenGL轮子文件whl格式所有版本含python3.12版本下载地址汇总

以下PyOpenGL都是windows x64系统使用pyopengl注意对应版本下载,文件名命名规则为,以PyOpenGL-3.1.6-cp312-cp312-win-amd64.whl为例子 PyOpenGL:python模块名称 3.1.6:pyopengl版本号 cp312:表示支持python3.12版本不支持其他…

五、深入学习TensorRT,Developer Guide篇(四)

上一篇文章我们介绍了C的API,这篇文章我们主要针对的是Python的API,起始C和Python在整体流程上面基本一致,但是由于Python天然的简洁性和易用性,Python的API相对来讲还是比较简单的,我们一起来看一下吧。 文章目录 4.…

windows下快速安装nginx 并配置开机自启动

1、下载地址:http://nginx.org/en/download.html 2、启动nginx 注意⚠️ 不要直接双击nginx.exe,这样会导致修改配置后重启、停止nginx无效,需要手动关闭任务管理器内的所有nginx进程。 在nginx.exe目录,打开命令行工具&#xf…

【springblade】springblade(bladeX) 数据权限失效原因分析

文章目录 数据权限接口权限 前言:最近博主在按照bladeX官方文档 配置数据权限 结果发现失效了,网上搜了一下没找到合适的答案,本着求人不如求己的精神,自己调试了一下发现了问题所在,也大致看了一下bladeX的权限逻辑。…

代码随想录算法训练营29期Day56|LeetCode 300,674,718

文档讲解:最长递增子序列 最长连续递增序列 最长重复子数组 300.最长递增子序列 题目链接:https://leetcode.cn/problems/longest-increasing-subsequence/description/ 思路: 设dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长…

unity——shader入门知识点 学习笔记【个人复习向/侵删/有不足之处欢迎斧正】

零、不同图形接口程序对Shader开发的影响: 1.渲染管线(流水线)和图形接口程序的关系:图形接口程序(OpenGL、 DX等)提供了对渲染管线(流水线)的控制和管理功能,它是开发者和硬件打交道的中间层 2. Shader和图形接口程序的关系&#xf…

计算机毕业设计 基于SpringBoot的宠物商城网站系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

LeetCode206反转链表

LeetCode206,直接看下面链接的动画演示部分就行了,就能快速理解pre和cur的作用 代码随想录:反转链表 这个是另外的在B站的视频讲解链接 【帮你拿下反转链表 | LeetCode:206.反转链表 | 双指针法 | 递归法】 https://www.bilibili.com/video/BV1nB4y1i7eL/?share_so…

Linux理解

VMware安装Linux安装 目录 VMware安装Linux安装 1.1 什么是Linux 1.2 为什么要学Linux 1.3 学完Linux能干什么 2.1 主流操作系统 2.2 Linux系统版本 VMware安装Linux安装 1.1 什么是Linux Linux是一套免费使用和自由传播的操作系统。 1.2 为什么要学Linux 1). 企业用人…

Python3获取办公室IP并更新至腾讯云安全组

需求来源: 由于云服务器的安全组限制了只能在公司IP下远程连接,每次更新安全组时只能通过手动更新,办公室IP是动态IP,每隔三天变一次IP,时间久了就觉得麻烦,所以在查阅了腾讯云文档后发现有安全组的SDK&…

【Git】:初识git

初识git 一.创建git仓库二.管理文件三.认识.git内部结构 一.创建git仓库 1.安装git 使用yum install git -y即可安装git。 2.创建仓库 首先创建一个git目录。 3.初始化仓库 这里面有很多内容,后面会将,主要是用来进行追踪的。 4.配置name和email 当然也…

Node.js的debug模块源码分析及在harmonyOS平台移植

Debug库 是一个小巧但功能强大的 JavaScript 调试工具库,可以帮助开发人员更轻松地进行调试,以便更快地发现和修复问题。它的主要特点是可以轻松地添加调试日志语句,同时在不需要调试时可以轻松地禁用它们,以避免在生产环境中对性…

室内外一体化定位系统

随着科技的不断发展,定位系统已经成为了人们生活中不可或缺的一部分。无论是在户外还是室内,定位服务都给人们带来了极大的便利。然而,传统的定位系统主要集中在室外环境,对于室内环境的定位还存在一定的困难。因此,室…

深度优先搜索-DFS

介绍 英文全称:Deep First Search 枚举所有完整路径来遍历所有情况的搜索方法 return不同情况的介绍 问题描述 在n件物品中,输入其容量与价值。给定容量,求物品的价值之和最大值。 思路 用DFS思想来看,每件物品有选择与不选择…

Spring Boot应用集成Actuator端点自定义Filter解决未授权访问的漏洞

一、前言 我们知道想要实时监控我们的应用程序的运行状态,比如实时显示一些指标数据,观察每时每刻访问的流量,或者是我们数据库的访问状态等等,需要使用到Actuator组件,但是Actuator有一个访问未授权问题,…

Postgresql源码(123)事务提交时三段资源释放分析ResourceOwnerRelease

0 总结 三段释放原因:因为如果先释放锁,没有释放一些共享资源(比如pin住的buffer),别人拿到锁后发现我们仍然持有一些资源,就会有问题。所以三阶段释放主要是以锁为分界线,先释放锁保护的资源&…

智慧未来:人工智能驱动下的创新与发展

智慧未来:人工智能驱动下的创新与发展 随着人工智能技术的迅猛发展和广泛应用,我们正迎来一个智慧未来的时代。人工智能作为驱动力推动着创新与发展,改变着我们的生活、工作和社会。让我们一起探讨人工智能驱动下的创新与发展所带来的影响和…

酷开科技丨新年新玩法!酷开系统壁纸模式给客厅“换”新

甲辰龙年即将到来,新年新家新气象,快到酷开系统壁纸模式中挑选一款喜欢的壁纸,为新的一年增添一份美好和喜悦吧! 酷开科技将更多的电视新玩法带给你,让你的电视成为家庭中的焦点!酷开系统壁纸模式&#xf…

LabVIEW高效核磁测井仪器多线程优化

LabVIEW高效核磁测井仪器多线程优化 为提高核磁测井仪器的测试效率与性能,开发了基于LabVIEW的多线程优化模型。该研究针对传统的核磁测井仪器软件,在多任务调度测试和并行技术需求上存在的效率不高和资源利用率低的问题,提出了一个多线程优…