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

news2024/12/23 17:26:49

一、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.coloradmin.cn/o/1465958.html

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

相关文章

集合、List、Set、Map、Collections、queue、deque

概述 相同类型的数据进行统一管理操作,使用数据结构、链表结构,二叉树 分类:Collection、Map、Iterator 集合框架 List接口 有序的Collection接口,可以对列表中的每一个元u尿素的插入位置进行精确的控制,用户可以根…

【Django】Django自定义后台表单——对一个关联外键对象同时添加多个内容

以官方文档为例: 一个投票问题包含多个选项,基本的表单设计只能一个选项一个选项添加,效率较低,如何在表单设计中一次性添加多个关联选项? 示例代码: from django.contrib import adminfrom .models impo…

nios ii开发随笔

错误一: d:/intelfpga/17.1/nios2eds/bin/gnu/h-x86_64-mingw32/bin/../lib/gcc/nios2-elf/5.3.0/../../../../../H-x86_64-mingw32/nios2-elf/bin/ld.exe: test.elf section .text will not fit in region ram_oc_xzs d:/intelfpga/17.1/nios2eds/bin/gnu/h-x86_6…

CUDA自学笔记001 CUDA编程模型、CUDA线程模型及其管理、CUDA内存模型及其管理

CUDA编程模型 我们使用CUDA_C语言进行CUDA编程, 1,CUDA编程模型提供了线程抽象接口用于控制GPU中的线程 2,CUDA编程模型提供了内存访问控制,我们可以实现主机和GPU设备内存的控制,我们可以实现CPU和GPU之间内存的数据传…

ROS1查看版本

目录 方法一方法二 方法一 rosversion -d方法二

关于Springboot下静态资源访问的问题

1.答案: 在配置静态资源的时候,springboot默认了一些资源路径,默认情况下,Spring Boot会映射/**到/src/main/resources/static (或/public、/resources、/META-INF/resources)路径上。 这是我的项目结构图: 这样就可…

【C++私房菜】面向对象中的多重继承以及菱形继承

文章目录 一、多重继承1、多重继承概念2、派生类构造函数和析构函数 二、菱形继承和虚继承2、虚继承后的构造函数和析构函数 三、has-a 与 is-a 一、多重继承 1、多重继承概念 **多重继承(multiple inheritance)**是指从多个直接基类中产生派生类的能力…

基于SpringBoot的产业园区智慧公寓管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式 🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 &…

电路设计(26)——速度表的multisim仿真

1.设计要求 设计一款电路,能够实时显示当前速度。 用输入信号模拟行驶的汽车,信号频率的1hz代表汽车速度的1m/s。最后速度显示,以km/h为单位。 2.电路设计 当输入信号频率为40HZ时,显示的速度应该为144KM/h,仿真结果为…

IDEA Debug框的 show execution point按钮没了

在这里右键: Add Action: 搜索添加: 本文由博客一文多发平台 OpenWrite 发布!

[OpenAI]继ChatGPT后发布的Sora模型原理与体验通道

前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:https://www.captainbed.cn/z ChatGPT体验地址 文章目录 前言OpenAI体验通道Spacetime Latent Patches 潜变量时空碎片, 建构视觉语言系统…

【SelectIO】bitslice原语学习记录

基本概念 在Ultrascale (plus)系列上的FPGA中,Xilinx引入了bitslice硬核,它取代了7系列上的IDELAYCTRL/IODELAY/IOSERDES/IODDR系列硬核,用于为HP(High Performance)类型Bank上的IO接口提供串并转化、信号延时、三态控…

制造业客户数据安全解决方案(数据防泄密需求分析)

机械行业是历史悠久的工业形式,与国民经济密切相关,属于周期性行业,是我国最重要的工业制造行业之一。即使网络经济与IT信息技术在世界范围内占据主导地位,依然离不开一个发达的、先进的物质基础,而机械行业正是为生成…

基于springboot+vue的植物健康系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

小迪安全26WEB 攻防-通用漏洞SQL 注入 SqlmapOracleMongodbDB2 等

#知识点: 1、数据库注入-Oracle&Mongodb 2、数据库注入-DB2&SQLite&Sybase 3、SQL 注入神器-SQLMAP 安装使用拓展 数据库注入: 数据库注入-联合猜解-Oracle&Mongodb 1.Oracle数据库一般会在java上执行 参考:https://www.cnblog…

有ai换脸证件照的工具吗?分享3款好用的工具!

在当今数字化时代,随着人工智能技术的飞速发展,AI换脸技术已经成为了一种热门的应用。从电影特效到日常生活中的照片处理,AI换脸技术都为我们带来了前所未有的便捷和乐趣。而在这其中,AI换脸证件照工具更是受到了广大用户的青睐。…

jetson nano——安装archiconda

目录 1.archiconda3我在这提供了下载链接,点解下面链接即可1.看好文件所在位置,如果装错了,那么环境变量的路径自己进行相应的修改。2.添加环境变量 2.可能部分伙伴输入一些激活,啥的命令激活不了,那么输入下面这些代码…

如何在nginx增加健康检查接口

在docker中部署的nginx或者在nginx部署的nginx一般是需要一个健康检查接口的 这样的话,就可以确定容器当前的状态是否是健康的 那么,如何给nginx增加一个健康检查的接口呢? 接下来呢,我们就演示一个在nginx中如何增加健康检查的…

瑞_23种设计模式_装饰者模式

文章目录 1 装饰者模式(Decorator Pattern)1.1 介绍1.2 概述1.3 装饰者模式的结构 2 案例一2.1 需求2.2 代码实现 3 案例二3.1 需求3.2 代码实现 4 JDK源码解析5 总结5.1 装饰者模式的优缺点5.2 装饰者模式的使用场景5.3 装饰者模式 VS 代理模式 &#x…

Druid无法登录监控页面

问题表现:在配置和依赖都正确的情况下,无法通过配置的用户名密码登录Druid的监控页面 检查配置发现 配置的用户名和密码和请求中参数是一致的🤔 Debug发现 ResourceServlet 是Druid的登录实现, 且调试发现usernameParam是null&am…