近期复习三

目录

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

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

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

相关文章

TypeScript中的单件设计模式

基本概念 (1) 了解设计模式 设计模式通俗的讲,就是一种更好的编写代码方案,打个比喻:从上海到武汉,你可以选择做飞机,做轮船,开车,骑摩托车多种方式,把出行…

Caché/M 数据库系统 InterSystems IRIS 的 Windows 安装

针对 InterSystems IRIS 数据库的一些基本概念。 InterSystems IRIS 是什么 InterSystems IRIS 是基于 Cach/M 语言开发的一个数据库,这个数据库被大量使用在医疗系统中,也是北美地区医疗系统病历和文件管理中默认使用的事实标准。 Cach/M 是什么 Ca…

德迅猎鹰(云蜜罐)有什么用

蜜罐(Honeypot)是一种安全技术,用于吸引和欺骗攻击者,以便收集关于攻击行为的信息和情报。它模拟了一个脆弱的系统、服务或网络资源,看起来对攻击者具有吸引力,但实际上是为了引诱攻击者暴露其攻击手法和意…

Django 开发 web 后端,好用过 SpringBoot ?

基础语法 Django(Python):以简洁和直观著称。它允许更快的开发速度,特别适合快速迭代的项目。例如,一个简单的视图函数: from django.http import HttpResponsedef hello_world(request):return HttpRespon…

Sprite Editor图片编辑器的使用_unity基础开发教程

Sprite Editor图片编辑器的使用 什么是Sprite Editor安装插件(3D项目)切片方式Automatic:自动切片Grid By Cell Size:按照像素大小进行切片Grid By Cell Count:按照个数进行切片Isometric Grid:等距网格切片…

电脑版便签软件怎么设置在桌面上显示?

对于不少上班族来说,如果想要在使用电脑办公的时候,随手记录一些常用的工作资料、工作注意事项等内容,直接在电脑上使用便签软件记录是比较方便的。电脑桌面便签工具不仅方便我们随时记录各类工作事项,而且支持我们快速便捷使用这…

使用Go快速开发TCP公共服务

使用Go快速开发TCP公共服务 文章目录 使用Go快速开发TCP公共服务一、前言二、实现思路三、源码四、测试使用五、最后 一、前言 之前使用的公共TCP服务无法使用了,想了一下整个实现原理不是很复杂,就利用Go快速开发了一个,利用公网服务器可以…

KD-Tree

游戏中常对物体进行空间划分,对于均匀分布的划分一般用四叉树(八叉树),动态不均匀的分布可以采用kd-tree 构建kd-tree 构建思路: 1.对节点进行各维度的方差分析,选取方差最大(即离散程度最高)的维度进行排序。取中值节点作为分…

多平台展示预约的服装小程序效果如何

线下实体服装店非常多,主要以同城生意为主,但随着电商经济增长,传统线下自然流量变少,商家们会选择线上入驻平台开店获得更多线上用户,包括自建私域小程序等。 而除了直接卖货外,线上展示预约在服装行业也…

Java 将word转为PDF的三种方式和处理在服务器上下载后乱码的格式

我这边是因为业务需要将之前导出的word文档转换为PDF文件,然后页面预览下载这样的情况。之前导出word文档又不是我做的,所以为了不影响业务,只是将最后在输出流时转换成了PDF,当时本地调用没什么问题,一切正常&#xf…

HarmonyOS(十一)——初识状态管理

前言 在前文的描述中,我们构建的页面多为静态界面。如果希望构建一个动态的、有交互的界面,就需要引入“状态”的概念。 假设我们要实现如下一个动态的交互界面: 上面的示例中,用户与应用程序的交互触发了文本状态变更&#x…

SQL server 根据已有数据库创建相同的数据库

文章目录 用导出的脚本创建相同的数据库导出建表脚本再次建表 一些sql语句 用导出的脚本创建相同的数据库 导出建表脚本 首先,右击要导出的数据库名,依次选择任务-生成脚本。 简介(第一页)处选择下一步,然后来到选择…

uniapp 打包H5页面时候清除手机缓存问题

最近遇到一个情况: uniapp 写了一个H5 页面,挂在一个小程序上面,但是每次更新代码,新增新功能,总是有的用户看到的还是上一个版本的样式,前端打包的时候,已经在Uniapp项目的根目录下面新建了一个…

Python替代Adobe从PDF提取数据

大家好,PDF文件是官方报告、发票和数据表的通用格式,然而从PDF文件中提取表格数据是一项挑战。尽管Adobe Acrobat等工具提供了解决方案,但它们并不总是易于获取或可自动化运行,而Python则是编程语言中的瑞士军刀。本文将探讨如何利…

使用 MITRE ATTCK® 框架缓解网络安全威胁

什么是MITRE ATT&CK框架 MITRE Adversarial Tactics, Techniques, and Common Knowledge(ATT&CK)是一个威胁建模框架,用于对攻击者用来入侵企业、云和工业控制系统(ICS)并发起网络攻击…

AI伦理专题报告:2023年全球人工智能伦理治理报告

今天分享的是人工智能系列深度研究报告:《AI伦理专题报告:2023年全球人工智能伦理治理报告》。 (报告出品方:钛媒体) 报告共计:239页 摘要 人工智能(ArtificialIntelligence)作为新一轮科技革命和产业变…

在 Node-RED 中引入 ECharts 实现数据可视化

Node-RED 提供了强大的可视化工具,而通过引入 ECharts 图表库,您可以更直观地呈现和分析数据。在这篇博客中,我们将介绍两种在 Node-RED 中实现数据可视化的方法:一种是引入本地 ECharts 库,另一种是直接使用 CDN&…

网络和Linux网络_11(数据链路层)以太网(MAC帧)协议+局域网转发+ARP协议

目录 1. 以太网协议 1.1 MAC地址 1.2 以太网帧格式 2. 局域网转发原理 2.1 数据碰撞和交换机 2.2 最大传输单元MTU 3. ARP协议 3.1 ARP协议格式 3.2 模拟APR协议工作过程 3.3 ARP缓存表 4. 重看TCP/IP四层模型 本篇完。 1. 以太网(MAC帧)协议 网络层的IP协议并不是…

什么是数据清洗、特征工程、数据可视化、数据挖掘与建模?

1.1什么是数据清洗、特征工程、数据可视化、数据挖掘与建模? 视频为《Python数据科学应用从入门到精通》张甜 杨维忠 清华大学出版社一书的随书赠送视频讲解1.1节内容。本书已正式出版上市,当当、京东、淘宝等平台热销中,搜索书名即可。内容涵…

python HTML文件标题解析问题的挑战

引言 在网络爬虫中,HTML文件标题解析扮演着至关重要的角色。正确地解析HTML文件标题可以帮助爬虫准确地获取所需信息,但是在实际操作中,我们常常会面临一些挑战和问题。本文将探讨在Scrapy中解析HTML文件标题时可能遇到的问题,并…