近期复习三

目录

nginx.conf文件介绍

一.文件共享功能

1.清空html目录下文件并新建你要共享的文件

2.修改nginx.conf文件,开启autoindex功能

3.测试

 二.状态模块

1.修改nginx.conf文件

2.测试

(1)使用刚才定义的IP/nginx_status进行访问

(2)status参数介绍

三.location模块的配置

1.location的语法

2.location的介绍

(1)uri是待匹配的请求字符串,可以不含正则(标准uri)也可以含正则(正则uri)

(2)括号内的标识符号是确定uri匹配方式的

3.uri匹配的模式和优先级,从高到低

rewrite

一.定义

二.作用

1.调整用户浏览的url,模板更规范

2.提升搜索引擎网站给予用户的体验,可以将动态的url伪装成静态地址提供服务

3.在网站更换新域名后,可以通过旧域名访问到新域名

4.便于根据特殊变量1、客户信息进行url调整

三.区分地址重写和转发

1.地址重写和地址转发

2.地址转发时只会有一次网络访问请求,重写一般会有两次

3.地址转发发生在同一站点的不同项目之间,地址重写没有这个限制

4.地址重写的页面的路径需要完整路径,转发则不需要

5.地址转发可以将客户请求的数据属性传递到新的界面,而地址重写不可以,仅仅是将页面定向到服务器选定的地址

6.地址重写的速度比转发慢

四.rewrite的语法规则

1.格式

2.几个flag标记符号介绍

五.例子

1.访问不存在的网页时定向到某个界面

(1)使用if+rewrite

(2)使用try_files

2.为某个目录定义别名,用户访问的路径其实并不存在,而是将其转发到另外一个页面

(1)创建bbb目录存放index.html文件

(2)编辑nginx.conf文件

3.实现域名跳转

访问80端口域名跳转到195主机的域名


nginx.conf文件介绍

一.文件共享功能

适用情况,在没有美首页文件,即你没有任何html文件时使用

27dd8733f9614d3b93127a4f5e998b28.png

1.清空html目录下文件并新建你要共享的文件

[root@localhost html]# ll
total 0
[root@localhost html]# touch {a..d}.rpm
[root@localhost html]# ll
total 0
-rw-r--r-- 1 root root 0 Aug 10 14:57 a.rpm
-rw-r--r-- 1 root root 0 Aug 10 14:57 b.rpm
-rw-r--r-- 1 root root 0 Aug 10 14:57 c.rpm
-rw-r--r-- 1 root root 0 Aug 10 14:57 d.rpm
[root@localhost html]# pwd
/usr/local/src/nginx-1.22.0/html

2.修改nginx.conf文件,开启autoindex功能

在要实现此功能的server区块内的location区块开启autoindex,html工作目录要和实际目录一致

[root@localhost conf]# pwd
/usr/local/src/nginx-1.22.0/conf
[root@localhost conf]# vim nginx.conf 
server {
                listen 192.168.2.190;
                server_name www.aabb.com;
                error_log /usr/local/src/nginx-1.22.0/logs/error.log;
                access_log /usr/local/src/nginx-1.22.0/logs/access.log;
                location / {
                        root /usr/local/src/nginx-1.22.0/html/;
                        autoindex on;   #添加这行
                        index index.html index.htm;
                }
} 

3.测试

0de9ea8e873f4e6b96b1671a7baf7fb2.png

 二.状态模块

可以查看nginx服务的状态

1.修改nginx.conf文件

[root@localhost conf]# vim nginx.conf 
server {
                listen 192.168.2.190;
                server_name www.aabb.com;
                error_log /usr/local/src/nginx-1.22.0/logs/error.log;
                access_log /usr/local/src/nginx-1.22.0/logs/access.log;
                location / {
                        root /usr/local/src/nginx-1.22.0/html/;
                        autoindex on; 
                        index index.html index.htm;
                }
                location /nginx_status{   ¥新添加一个location区块,新增以下内容
                        stub_status on;
                        access_log off;
                }
        }               
[root@localhost conf]# systemctl restart nginx

2.测试

(1)使用刚才定义的IP/nginx_status进行访问

93ed68516fc7476c9c02ea87308dd151.png

(2)status参数介绍

 Active connections 表示当前的活动客户端连接数量

accepts表示接受客户端连接的总数

handled表示处理的连接总数

requests表示客户端请求的总数

Reading表示nginx正在读请求头的当前连接数

Writing 表示nginx正在将响应写回客户端的当前连接数

Waiting表示当前空闲客户端连接数等待一个请求

三.location模块的配置

1.location的语法

location [=|~|~*|^~|=/] uri {
    ......
}

2.location的介绍

根据用户请求的uri来来执行不同的location

(1)uri是待匹配的请求字符串,可以不含正则(标准uri)也可以含正则(正则uri)

(2)括号内的标识符号是确定uri匹配方式的

  • 没有这些选项时,server先试用标准uri进行匹配,记录匹配度最高者。再用正则uri进行匹配,当第一个正则uri匹配成功时停止,并使用这个location区块,这锅这里面的正则uri都匹配失败了,就是用上面的记录的匹配度最高的标准uri所在location
  • “=”,要求请求的字符串与uri严格匹配,一经匹配成功就停止匹配并处理当前location
  • “~”,表示uri包含有正则表达式,区分大小写
  • “~*”,表示uri包含有正则表达式,不区分大小写,含有正则表达式时就必须使用这两个中的一个
  • “^~”,表示要求nginx服务器找到uri和请求字符串最高匹配度的location后立即处理这个location,不再匹配正则uri
  • “!~”,,取反

3.uri匹配的模式和优先级,从高到低

location = / {}

精确匹配/,根据给定的path做精准匹配

location ^~ /image/{

字符串常规匹配,不做正则检查

location ~* \.(gif\|jpg\|jpeg)$

{

正则匹配

location /documents/ {

字符串常规匹配,做正则检查,有正则就会先匹配正则

location / {

其他所有的location都未被匹配到后默认匹配这个location

rewrite

一.定义

web服务器中的必备功能,用来实现地址的重写(不是转发),可以让用户在我们网站变动的时候仍然能够通过原来的书签访问到变动后的内容。

二.作用

1.调整用户浏览的url,模板更规范

2.提升搜索引擎网站给予用户的体验,可以将动态的url伪装成静态地址提供服务

3.在网站更换新域名后,可以通过旧域名访问到新域名

4.便于根据特殊变量1、客户信息进行url调整

三.区分地址重写和转发

1.地址重写和地址转发

地址重写是地址标准化的过程,即使服务器接受了来自用户输入的不同的域名,但服务器再此之中选择确定的一个,那么客户端浏览器中的地址会改变为服务器选定的地址;而地址转发是数据传输分别到达不同的路由器服务器设备,是一个域名指向一个站点的过程,在地址转发的过程中,浏览器中的地址是不变的。

2.地址转发时只会有一次网络访问请求,重写一般会有两次

3.地址转发发生在同一站点的不同项目之间,地址重写没有这个限制

4.地址重写的页面的路径需要完整路径,转发则不需要

5.地址转发可以将客户请求的数据属性传递到新的界面,而地址重写不可以,仅仅是将页面定向到服务器选定的地址

6.地址重写的速度比转发慢

四.rewrite的语法规则

1.格式

可以应用在server、location、if等

rewrite regex replacement [flag];
#表示根据regex正则表达式匹配成功后跳转到replacement

2.几个flag标记符号介绍

last——本条规则匹配完成后, 继续向下匹配新其他uri规则

break——本条规则匹配完成即终止, 不再匹配后面的任何规则

redirect——返回 302 临时重定向, 浏览器地址栏会显示跳转后的url地址

permanent——返回 301 永久重定向, 浏览器地址栏会显示跳转后的url地址

五.例子

1.访问不存在的网页时定向到某个界面

(1)使用if+rewrite

server {
                listen 80;
                server_name www.aabb.com;
                error_log /usr/local/src/nginx-1.22.0/logs/error.log;
                access_log /usr/local/src/nginx-1.22.0/logs/access.log;
                location / { 
                        root /usr/local/src/nginx-1.22.0/html/ip;  #这个目录里不要存在index.html文件
                        index index.html index.htm;
                        if (!-f $request_filename) {
                                rewrite /. /err.html permanent; #这个err.html要放在上面那个html/ip目录里
                        }
                }

(2)使用try_files

server {
                listen 80;
                server_name www.aabb.com;

                root /usr/local/src/nginx-1.22.0/html/ip;
                index index.html index.htm;
         
                location / {
                        try_files $uri $uri/ =404;
                }

                location = /err.html {
                        root /usr/local/src/nginx-1.22.0/html/ip;
                }
                error_page 404 /err.html;
        }

68d5f1fb3bd64fc2b1913cf9809f5996.png

2.为某个目录定义别名,用户访问的路径其实并不存在,而是将其转发到另外一个页面

(1)创建bbb目录存放index.html文件

[root@localhost ip]# pwd
/usr/local/src/nginx-1.22.0/html/ip
[root@localhost ip]# ll
total 4
drwxr-xr-x 2 root root 24 Aug 11 12:54 bbb
-rwxrwxrwx 1 root root  6 Aug 11 11:39 err.html
[root@localhost ip]# cat bbb/index.html 
bbb

(2)编辑nginx.conf文件

server {
                listen 80;
                server_name www.aabb.com;
                error_log /usr/local/src/nginx-1.22.0/logs/error.log;
                access_log /usr/local/src/nginx-1.22.0/logs/access.log;
                location / { 
                        root /usr/local/src/nginx-1.22.0/html/ip;
                        index index.html index.htm;
                        rewrite ^/aaa/(.*) /bbb/$1 last;  #aaa目录实际上不存在,在访问aaa时跳转访问bbb目录的内容
                }

        }    

41018656f2914d0284f30ed1e9754dc0.png

3.实现域名跳转

访问80端口域名跳转到195主机的域名

server {
                listen 80;
                server_name www.aabb.com;
                rewrite ^/.* http://www.llss.com/$1 last;
                error_log /usr/local/src/nginx-1.22.0/logs/error.log;
                access_log /usr/local/src/nginx-1.22.0/logs/access.log;
                location / { 
                        root /usr/local/src/nginx-1.22.0/html/ip;
                        index index.html index.htm;
                }

        }    
        server { 
                listen 192.168.2.195;
                server_name www.llss.com;
                location / { 
                        root /usr/local/src/nginx-1.22.0/html/ip;
                        index index1.html index.htm;
                }
        }

c4f9e36de883432a84460e71a1fdde42.png

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机图形图像技术(图像锐化处理与图像解析)

一、实验原理: 1、拓展Sobel算子锐化 void Sobel(Array src, Array dst, int ddepth, int dx, int dy, int ksize); ①参数:src为输入图像;dst为输出图像,大小和通道数与源图像一致,必要时重建;ddepth为目…

我把springboot项目从Java 8 升级 到了Java 17 的过程总结,愿为君提前踩坑!

项目从jdk8升级到jdk17,我不是为了追求java 17的新特性(准确来说也还没有去了解有什么新特性),也不是为了准确与时俱进,永远走在java行列的最前端,纯粹因为项目需要,因为我们都知道,…

【华为数据之道学习笔记】3-1 基于数据特性的分类管理框架

华为根据数据特性及治理方法的不同对数据进行了分类定义:内部数据和外部数据、结构化数据和非结构化数据、元数据。其中,结构化数据又进一步划分为基础数据、主数据、事务数据、报告数据、观测数据和规则数据。 对上述数据分类的定义及特征描述。 分类维…

HarmonyOS学习--TypeScript语言学习(四)

注意:这只是我学习的笔记!!! 注意:这只是我学习的笔记!!! 注意:这只是我学习的笔记!!! 本章目录如下: 一、对象 二、接口…

配置CentOS服务器以支持PHP

CentOS是一款优秀的开源服务器操作系统,为各种网络服务提供了强大的支持。为了使CentOS服务器能够支持PHP,我们需要进行一些必要的配置。下面将介绍配置CentOS服务器以支持PHP的关键步骤。 安装PHP 首先,需要安装PHP解释器。在CentOS上&…

[UIM]论文解读:subword Regularization: Multiple Subword Candidates

文章目录 一、完整代码二、论文解读2.1 介绍2.2 NMT2.3 Unigram language model2.4 subword 抽样2.5 效果 三、整体总结 论文:Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates 作者:Taku Kudo 时…

【分布式微服务专题】从单体到分布式(一、SpringCloud项目初步升级)

目录 前言阅读对象阅读导航前置知识笔记正文一、单体服务介绍二、服务拆分三、分布式微服务升级前的思考3.1 关于SpringBoot/SpringCloud的思考【有点门槛】 四、SpringCloud升级整合4.1 新建父子项目 学习总结感谢 前言 从本节课开始,我将自己手写一个基于SpringC…

智能优化算法应用:基于非洲秃鹫算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于非洲秃鹫算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于非洲秃鹫算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.非洲秃鹫算法4.实验参数设定5.算法结果6.参考…

docker安装及配置mysql

docker 安装mysql 下载镜像文件 下载mysql5.7版本 sudo docker pull mysql:5.7检查是否下载成功 sudo docker images2.创建实例并启动 切换到root下避免每次使用sudo 密码:vagrant docker run -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var/log/my…

PACS源码,医学影像传输系统源码,全院级应用,支持放射、超声、内窥镜、病理等影像科室,且具备多种图像处理及三维重建功能

​三维智能PACS系统源码,医学影像采集传输系统源码 PACS系统以大型关系型数据库作为数据和图像的存储管理工具,以医疗影像的采集、传输、存储和诊断为核心,集影像采集传输与存储管理、影像诊断查询与报告管理、综合信息管理等综合应用于一体的…

AI助力智慧农业,基于YOLOv4开发构建不同参数量级农田场景下庄稼作物、杂草智能检测识别系统

智慧农业随着数字化信息化浪潮的演变有了新的定义,在前面的系列博文中,我们从一些现实世界里面的所见所想所感进行了很多对应的实践,感兴趣的话可以自行移步阅读即可: 《自建数据集,基于YOLOv7开发构建农田场景下杂草…

【开源】基于JAVA的APK检测管理系统

项目编号: S 038 ,文末获取源码。 \color{red}{项目编号:S038,文末获取源码。} 项目编号:S038,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 开放平台模块2.3 软…

翻译: 大语言模型LLMs能做什么和不能做什么 保存笔记What LLMs can and cannot do

生成式 AI 是一项惊人的技术,但它并非万能。在这个视频中,我们将仔细看看大型语言模型(LLM)能做什么,不能做什么。我们将从我发现的一个有用的心理模型开始,了解它能做什么,然后一起看看 LLM 的…

ThreadX开源助力Microsoft扩大应用范围:对比亚马逊AWS的策略差异

全球超过120亿台设备正在运行ThreadX,这是一款专为资源受限环境设计的实时操作系统。该操作系统在微控制器和小型处理器上表现出色,以极高的可靠性和精确的时间控制处理任务而闻名。 ThreadX曾是英特尔芯片管理引擎的引擎,并且是控制Raspber…

unity 2d 入门 飞翔小鸟 飞翔脚本(五)

新建c#脚本 using System.Collections; using System.Collections.Generic; using UnityEngine;public class Fly : MonoBehaviour {//获取小鸟(刚体)private Rigidbody2D bird;//速度public float speed;// Start is called before the first frame up…

挑选数据可视化工具:图表类型、交互功能与数据安全

作为一名数据分析师,我经常需要使用各种数据可视化工具来将数据以直观、清晰的方式呈现出来,以便更好地理解和分析。在市面上的众多可视化工具中,我根据实际需求和项目特点进行选择。本文将从以下几个角度对市面上的数据可视化工具进行对比&a…

Ros智行mini,opencv,Gmapping建图,自主导航auto_slam,人脸识别,语音控制

功能 一、Gmapping建图 二、自主导航 起始点 、终点 三、人脸识别 四、语音控制 完成任务: 机器人先建图 建完图后给出目标点,机器人就可以完成调用自主导航走到目标点,期间会调用激光雷达扫描局部环境来进行自主避障,到达终点后进行语音…

指针(进阶)

指针进阶: 通过指针基础我们已经了解了指针,这篇文章我们会举大量的例子,使我们对指针透彻理解,我们下来看一段代码: int main() {char a[] "ab";char* pc a;printf("%c\n", *pc);printf("…

线上项目修改最后一招 修改jar中的文件并重新打包成jar

解压jar包 在要操作的jar文件上边cmd打开命令提示符窗口(windows系统), 在cmd命令下执行 jar -xvf xxx.jar 解压jar包(其中xxx.jar换成你的jar包名) jar -xvf admin-1.0.0.jar 替换或者更改操作 如果要替换jar压缩…

qt 5.15.2 主窗体菜单工具栏树控件功能

qt 5.15.2 主窗体菜单工具栏树控件功能 显示主窗体效果&#xff1a; mainwindow.h文件内容&#xff1a; #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QFileDialog> #include <QString> #include <QMessageBox>#inc…