nginx(二)

news2024/10/2 3:26:00

nginx的验证模块  输入用户名和密码

第一步先下载httpd 这个安装包

 

第二步编辑子配置文件

 

然后去网页访问192.168.68.3/admin/

 

 连接之后,会出现404,404出现是因为没给网页写页面

 如果要写页面,则在/opt/html,建立一个admin,然后写内容即可

 如果想看建welcome cxk可以进入火狐里面查看

 查看nginx状态 status

因为有用户名跟密码 所以刷不出来了, 

如果要改变,则加上用户名 +密码

自定义错误页面 

 第一步修改主页面

主页面里面的内容 

 

修改配置文件 

 网页访问

案例二:

 

 然后去网页访问错误地址

 检测文件是否存在

try_files会按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹),如果所有文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。只有最后一个参数可以引起一个内部重定向,之前的参数只设置内部URI的指向。最后一个参数是回退URI且必须存在,否则会出现内部500错误。

 长连接

 

 60代表真实的长连接时间,客户端看见的是60秒

 作为下载服务器配置

 实例:

在子配置文件里面修改

 然后去建立download

去网页访问download

 autoindex_exact_size on | off; 显示单位     模式是on,不显示单位,而off 显示单位

然后去网页访问download,显示单位了(k)

 

用户上传资料

 nginx第三方模块

第一步,先下载echo这个模块的安装包,然后解压,因为是以zip结尾 所以用unzip解压

因为echo依赖于nginx 所以两者要一起编译(PATH指明模块路径)

 

 然后make  make install

因为是重新编译的所有要重启

 修改子配置文件

随后,建立ip

 

 随后在另外一个终端去curl

 并没有访问/data/文件夹的内容,而是显示welcome your ip addr 

变量

$remote_addr; 
#存放了客户端的地址,注意是客户端的公网IP

$args; 
#变量中存放了URL中的参数,例如:http://www.kgc.org/main/index.do?id=20190221&partner=search
#返回结果为: id=20190221&partner=search    存放的就是这个

$document_root; 
#保存了针对当前资源的请求的系统根目录,例如:/apps/nginx/html

$document_uri;
#保存了当前请求中不包含参数的URI,注意是不包含请求的指令,比
如:http://www.kgc.org/main/index.do?id=20190221&partner=search会被定义为/main/index.do 
#返回结果为:/main/index.do

$host; 
#存放了请求的host名称


limit_rate 10240;
echo $limit_rate;
#如果nginx服务器使用limit_rate配置了显示网络速率,则会显示,如果没有设置, 则显示0


$remote_port; 
#客户端请求Nginx服务器时随机打开的端口,这是每个客户端自己的端口

$remote_user; 
#已经经过Auth Basic Module验证的用户名

$request_body_file; 
#做反向代理时发给后端服务器的本地资源的名称

$request_method; 
#请求资源的方式,GET/PUT/DELETE等

$request_filename; 
#当前请求的资源文件的磁盘路径,由root或alias指令与URI请求生成的文件绝对路径,如:/apps/nginx/html/main/index.html

$request_uri;   https:// www.baidu.com/main/index.do?id=20190221&partner=search 
#包含请求参数的原始URI,不包含主机名,相当于:$document_uri?$args,例如:/main/index.do?id=20190221&partner=search 

$scheme; 
#请求的协议,例如:http,https,ftp等

$server_protocol; 
#保存了客户端请求资源使用的协议的版本,例如:HTTP/1.0,HTTP/1.1,HTTP/2.0等

$server_addr; 
#保存了服务器的IP地址

$server_name; 
#请求的服务器的主机名

$server_port;  443  https 
#请求的服务器的端口号

$http_<name>
#name为任意请求报文首部字段,表示记录请求报文的首部字段
arbitrary request header field; the last part of a variable name is the field name converted to lower case with dashes replaced by underscores 
#用下划线代替横线
#示例: echo $http_User_Agent;  

$http_user_agent; 
#客户端浏览器的详细信息

$http_cookie; 
#客户端的cookie信息


$cookie_<name>
#name为任意请求报文首部字部cookie的key名

$http_<name>
#name为任意请求报文首部字段,表示记录请求报文的首部字段,ame的对应的首部字段名需要为小写,如果有
横线需要替换为下划线
arbitrary request header field; the last part of a variable name is the field 
name converted to lower case with dashes replaced by underscores #用下划线代替横线
#示例: 
echo $http_user_agent; 
echo $http_host;


$sent_http_<name>
#name为响应报文的首部字段,name的对应的首部字段名需要为小写,如果有横线需要替换为下划线,此变量有问题
echo $sent_http_server;

$arg_<name>
#此变量存放了URL中的指定参数,name为请求url中指定的参数
#对比 变量  $arg  是全部, 如果 要id   如下
echo $arg_id;

 在子配置文件加入此项

 然后去第二台终端 去curl

curl   'http://192.168.68.3/main?user=zhou&title=cto'

自定义变量

set  这个变量只能放在server location if三个里面

 

 然后去第二个终端 kgc表示打印的名字  80 表示打印的端口

 自定义访问日志

日志的格式可以自定义

 打开主配置文件

圈起来的这边可以自定义日志

例如 自定义一个cxk的日志

 然后重载一下

 然后第二终端再去curl一下,然后再次查看一下日志文件,会多出来一个服务端ip地址,是因为在主配置文件里面修改日志格式式,后面加了一个$host

自定json日志格式

格式内容

log_format access_json '{"@timestamp":"$time_iso8601",'
        '"host":"$server_addr",'
        '"clientip":"$remote_addr",'
        '"size":$body_bytes_sent,'
        '"responsetime":$request_time,'
        '"upstreamtime":"$upstream_response_time",'
        '"upstreamhost":"$upstream_addr",'  
        '"http_host":"$host",'
        '"uri":"$uri",'
        '"xff":"$http_x_forwarded_for",'
        '"referer":"$http_referer",'
        '"tcp_xff":"$proxy_protocol_addr",'
        '"http_user_agent":"$http_user_agent",'
        '"status":"$status"}'; 

在主配置文件里面修改 

 

然后nginx -s reload

去第二终端curl

然后去自己的服务器端查看一下日志格式

 

日志分割

 nginx压缩功能

实例操作如下:

将index.html网页写入大量的文件

然后去查看日志文件

 

没加入大量文件之前大小是39,然后第二终端去curl下192.168.68.3 

接着再看日志文件

如果要压缩,则在子配置文件中加入

 

然后保存

 随后在网页上面访问192.168.68.3  一直按F12  然后按网络

 强刷完之后 会出现200

 表示启动压缩

 切记:curl是文字版的图片 是不压缩的!!!

如果第二终端去访问192.168.68.3,然后去查看日志 size是不变的

 

 预压缩  先把文件压缩好,然后再去访问减少cpu的消耗  不需要人家访问时现场压缩

gzip_static on |off (这个模块式额外的模块 我们在编译nginx时,已经下载了这个模块)

在自配置文件中加入这行

 然后保存 重载

然后去data下面去压缩这个index.html

 随后,将index.html改名

然后再去网页访问

  

 

 整个流程

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

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

相关文章

算法沉淀——动态规划之路径问题(leetcode真题剖析)

算法沉淀——动态规划之路径问题 01.不同路径02.不同路径 II03.珠宝的最高价值04.下降路径最小和05.最小路径和06.地下城游戏 01.不同路径 题目链接&#xff1a;https://leetcode.cn/problems/unique-paths/ 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图…

探索C语言位段的秘密

位段 1. 什么是位段2. 位段的内存分配3. 位段的跨平台问题4. 位段的应用4. 使用位段的注意事项 1. 什么是位段 我们使用结构体实现位段&#xff0c;位段的声明和结构体是类似的&#xff0c;有两个不同&#xff1a; 位段的成员必须是int&#xff0c;unsigned int&#xff0c;或…

IO进程线程作业day7

信号灯集共享内存 自定义头文件 #ifndef SEM_H_ #define SEM_H_ //创建信号灯集, int creat_t(int number); //申请释放资源 int P(int semid,int semno); //申请释放资源 int V(int semid,int semno); //删除信号灯集 int del(int semid); #endif信号灯集函数集合 #include…

多维时序 | Matlab实现GRU-MATT门控循环单元融合多头注意力多变量时间序列预测模型

多维时序 | Matlab实现GRU-MATT门控循环单元融合多头注意力多变量时间序列预测模型 目录 多维时序 | Matlab实现GRU-MATT门控循环单元融合多头注意力多变量时间序列预测模型预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.多维时序 | Matlab实现GRU-MATT门控循环单元融…

wcf 简单实践 数据绑定 数据更新ui

1.概要 2.代码 2.1 xaml <Window x:Class"WpfApp3.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expr…

《数据治理简易速速上手小册》第2章 数据治理框架的建立(2024 最新版)

文章目录 2.1 确立数据治理目标2.1.1 基础知识2.1.2 重点案例&#xff1a;提升零售业数据质量2.1.3 拓展案例 1&#xff1a;银行的数据安全加强2.1.4 拓展案例 2&#xff1a;医疗机构的合规性数据报告 2.2 数据治理框架的关键要素2.2.1 基础知识2.2.2 重点案例&#xff1a;制药…

VM-UNet:视觉Mamba UNet用来医学图像分割 论文及代码解读

VM-UNet 期刊分析摘要贡献方法整体框架1. Vision Mamba UNet (VM-UNet)2. VSS block3. Loss function 实验1.对比实验2.消融实验 可借鉴参考代码使用 期刊分析 期刊名&#xff1a; Arxiv 论文主页&#xff1a; VM-UNet 代码&#xff1a; Code 摘要 在医学图像分割领域&#x…

JANGOW: 1.0.1

kali:192.168.223.128 主机发现 nmap -sP 192.168.223.0/24 端口扫描 nmap -p- 192.168.223.154 开启了21 80端口 web看一下&#xff0c;有个busque.php参数是buscar,但是不知道输入什么&#xff0c;尝试文件包含失败 扫描目录 dirsearch -u http://192.168.223.154 dirse…

mysql 分表实战

本文主要介绍基于range分区的相关 1、业务需求&#xff0c;每日160w数据&#xff0c;每月2000w;解决大表数据读写性能问题。 2、数据库mysql 8.0.34&#xff0c;默认innerDB;mysql自带的逻辑分表 3、分表的目的:解决大表性能差&#xff0c;小表缩小查询单位的特点(其实优化的精…

人事|人事管理系统|基于Springboot的人事管理系统设计与实现(源码+数据库+文档)

人事管理系统目录 目录 基于Springboot的人事管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员登录 2、员工管理 3、公告信息管理 4、公告类型管理 5、培训管理 6、培训类型管理 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、…

2024年环境安全科学、材料工程与制造国际学术会议(ESSMEM2024)

【EI检索】2024年环境安全科学、材料工程与制造国际学术会议&#xff08;ESSMEM2024) 会议简介 我们很高兴邀请您参加将在三亚举行的2024年环境安全科学、材料工程和制造国际学术会议&#xff08;ESSMEM 2024&#xff09;。 ESSMEM2024将汇集世界各国和地区的研究人员&…

CrackRTF1

由此可知为六位密码且<100000自动退出 发现是哈希加密&#xff0c;经过网上查找后了解到 0x8004u 为 SHA1 加密&#xff0c;故从网上寻找脚本并进行爆破 密码为123321 找到一个取巧的网站 MD5免费在线解密破解_MD5在线加密-SOMD5 Flag{N0_M0re_Free_Bugs}

Mysql索引讲解及创建

索引介绍 1.什么是索引&#xff1f; 索引是存储引擎中一种数据结构&#xff0c;或者说数据的组织方式&#xff0c;又称之为键key&#xff0c;是存储引擎用于快速找到记录的 一种数据结构。 为数据建立索引就好比是为书建目录&#xff0c;或者说是为字典创建音序表&#xff0c;…

视频号视频下载教程:如何把微信视频号的视频下载下来

视频号下载相信不少人都多少有一些了解&#xff0c;但今天我们就来细说一下关于视频号视频下载的相关疑问&#xff0c;以及大家经常会问到底如何把微信视频号的视频下载下来&#xff1f; 视频号视频下载教程 视频号链接提取器详细使用指南&#xff0c;教你轻松下载号视频&…

LabVIEW燃料电池船舶电力推进监控系统

LabVIEW燃料电池船舶电力推进监控系统 随着全球经济一体化的推进&#xff0c;航运业的发展显得尤为重要&#xff0c;大约80%的世界贸易依靠海上运输实现。传统的船舶推进系统主要依赖于柴油机&#xff0c;这不仅耗能高&#xff0c;而且排放严重&#xff0c;对资源和环境的影响…

uniapp播放mp4省流方案

背景&#xff1a; 因为项目要播放一个宣传和讲解视频&#xff0c;视频文件过大&#xff0c;同时还为了节省存储流量&#xff0c;想到了一个方案&#xff0c;用m3u8切片替代mp4。 m3u8&#xff1a;切片播放&#xff0c;可以理解为一个1G的视频文件&#xff0c;自行设置文…

Antd 嵌套子表格 defaultExpandAllRows 默认展开不生效

问题描述 在使用 antd 嵌套子表格时&#xff0c;想要默认展开所有子列表&#xff0c;设置属性:defaultExpandAllRows“true”&#xff0c;但是子列表没有展开 原因分析 defaultExpandAllRows 属性官网定义&#xff1a; 从官网定义可知&#xff0c;defaultExpandAllRows 属性…

P2680 [NOIP2015 提高组] 运输计划 第一个测试点信息 || 被卡常,链式前向星应该解决的是vector的push_back频繁扩容的耗时

[NOIP2015 提高组] 运输计划 - 洛谷 目录 测试点信息 P2680_1.in P2680_1.out 图&#xff1a; 50分参考代码&#xff08;开了n^2的数组&#xff0c;MLE了&#xff09;&#xff1a; 测试点信息 Subtask #0 #1 P2680_1.in 100 1 7 97 4 89 2 0 40 91 1 70 84 1 36 92 3 …

ASLR 和 PIE

前言 ASLR&#xff08;Address Space Layout Randomization&#xff0c;地址空间随机化&#xff09;是一种内存攻击缓解技术&#xff0c;是一种操作系统用来抵御缓冲区溢出攻击的内存保护机制。这种技术使得系统上运行的进程的内存地址无法被预测&#xff0c;使得与这些进程有…

Spring Cloud学习

1、什么是SpringCloud Spring cloud 流应用程序启动器是基于 Spring Boot 的 Spring 集成应用程序&#xff0c;提供与外部系统的集成。Spring cloud Task&#xff0c;一个生命周期短暂的微服务框架&#xff0c;用于快速构建执行有限数据处理的应用程序。Spring cloud 流应用程…