当前位置: 首页 > news >正文

Nginx配置详细解释:(4)高级配置

目录

1.网页的状态页

2.Nginx第三方模块(echo)

3.变量

4.自定义访问日志

5.Nginx压缩功能

6.https功能

7.自定义图标


Nginx除了一些基本配置外,还有一些高级配置,如网页的状态,第三方模块需要另外安装,支持变量,自定义访问日志,Nginx压缩功能,https功能,自定义图标等。

1.网页的状态页

状态页模块为ngx_http_stub_status_module,通过.configire --help | grep ngx_http_stub_status_module查看是否编译安装,如果没有,就--add-module=编译添加该模块。

写入location模块:

location /nginx_status {

        stub_status;

}

使用浏览器访问192.168.114.10/nginx_status

Active connections处于活动状态的客户端连接数

active connections:1

三个数字分别对应上面的accepts,handled,requests三个值,accepts统计总值,自启动后已经接受的客户端请求的总数。handled统计总值,自启动后已经处理完成的客户端请求总数,一般等于accepts。requests统计总值,自启动后客户端发来的总的请求数。

Reading读取客户端请求报文首部的连接的连接数。Writing当前状态,正在向客户端发送响应报文过程中的连接数。Waiting当前状态,正在等待客户端发出请求的空闲连接数。

2.Nginx第三方模块(echo)

当在location中直接使用echo "hello /";

重新加载会提示有问题。

也就是nginx不支持echo打印输出,需要第三方模块提供,下载第三方模块。

[root@Node1 nginx-1.18.0]#:yum install git -y  #安装git

[root@Node1 nginx-1.18.0]#:git clone https://github.com/openresty/echo-nginx-module.git

[root@Node1 nginx-1.18.0]#:./configure --prefix=/apps/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module --add-module=/data/nginx-1.18.0/echo-nginx-module

[root@Node1 nginx-1.18.0]#:make && make install

重启服务,systemctl stop nginx ; systemctl start nginx

此时再次重新加载nginx -s reload,在测试机上尝试curl 192.168.114.10

3.变量

3.1常用内置变量

$remote_addr;#客户端的IP地址

$args;变量中存放了URL中的参数。记录数据库中的数据。形成一条语句,对接数据库 select * from table where id=125663;

$document_root;#保存了针对当前资源的请求的系统根目录,例如:/apps/nginx/html。nginx软件的根目录,在系统中真正的位置。在location中root /opt; echo $document_root; 打印出/opt; 页面主站点

$document_uri;客户端打在浏览器中的url

$remote_port;远端端口,客户端端口。

$document_root;#保存了针对当前资源的请求的系统根目录

$document_uri; #保存了当前请求中不包含参数的URI

$http_cookie;#客户端的cookie信息

$request_filename;#当前请求的资源文件的磁盘路径

$scheme;#协议

$request_method;输出GET

$request_uri;除了主机名前的后面都打印出

重新加载配置文件:nginx -s reload

在测试机上测试:

-b加上cookie

3.2 自定义变量

与普通变量一样,通过set设置变量,set $变量 值。

set $my_port $server_port;将服务端端口作为值,赋给my_port变量名。

4.自定义访问日志

4.1 日志格式

在主配置文件nginx.conf中,http模块中就有日志格式的配置

日志默认在编译安装指定的路径下:/apps/nginx/logs/access.log中。查看日志格式:

我们自己设置日志格式:

在/apps/nginx/logs/下。vim nginx.conf

4.1自定义json格式日志

5.Nginx压缩功能

压缩功能依赖于ngx_http_gzip_module模块:查看是否安装该模块:

如果文件过小,小于1k,就没必要压缩,否则压缩后有可能变大

在文件中写入location模块:

压缩级别有1-9,数字越大,压缩越高,但更消耗CPU。在root指定的路径下:创建一个5M左右的文件,

dd if=/dev/zero of=index.html count=1 bs=5M  创建一个5M的空文件,

在第一个行写入nginx 5M

vim index.html 添加第一行nginx 5M。此时大概5.1M

浏览器访问,指定路径。

6.https功能

https是http+ssl,一种加密算法,使http更为安全

如果没有ssl,访问时是http不安全,没有证书的

[root@Node1 certs]#:pwd
/etc/pki/tls/certs
[root@Node1 certs]#:vim Makefile

大概在57行,复制yy 粘贴p,去掉-aes128

使用make www.pc.com.crt签名证书

下面问你国家,省,市,公司,部门,主机名,邮箱。可随便填写,邮箱可不写

然后就会出现两个文件,一个是*.crt证书,一个是*.key私钥。

复制到/opt/下去,cp www* /opt/

ssl on | off;  指定虚拟主机配置是否启用ssl功能,此功能在1.15.0废弃,使用listen [ssl]替代。listen 443 ssl;

ssl_certificate指向包含虚拟机和CA的两个证书信息文件,一般是crt文件

ssl_certificate_key当前虚拟主机使用的私钥我那件,一般是key文件。

这时候,浏览器输入:https://192.168.114.10

点击高级,继续访问。这是我们自己做的一个http+ssl,没有经过第三方认证,证书依旧无效。

7.自定义图标

自定义图标就是网页标头的小图标。

默认是没有的,当在浏览器上访问时,是这样的:没有任何图标。

通过下载wget www.baidu.com/favicon.ico百度的图标。当客户端使用浏览器访问页面时,浏览器会自己主动发起请求获取页面的favicon.ico文件。但是当浏览器请求的favicon.ico文件不存在时,服务器会记录404日志,而且浏览器也会显示404报错。

那么我们可以将图标保存到指定的主目录下,也就是将图标放在主目录下。

[root@Node1 data]#:wget www.baidu.com/favicon.ico

location中写入:

此时再访问,但要清除浏览器缓存

 再次访问:发现有个百度的图标了

--------end---------

相关文章:

Nginx配置详细解释:(4)高级配置

目录 1.网页的状态页 2.Nginx第三方模块(echo) 3.变量 4.自定义访问日志 5.Nginx压缩功能 6.https功能 7.自定义图标 Nginx除了一些基本配置外,还有一些高级配置,如网页的状态,第三方模块需要另外安装,支持变量&#xff0c…...

OceanBase 4.3 特性解析:列存技术

在涉及大规模数据的复杂分析或即时查询时,列式存储是支撑业务负载的关键技术之一。相较于传统的行式存储,列式存储采用了不同的数据文件组织方式,它将表中的数据以列为单位进行物理排列。这种存储模式允许在分析过程中,查询计算仅…...

ARM32开发--PWM与通用定时器

知不足而奋进望远山而前行 目录 文章目录 前言 学习目标 学习内容 PWM pwm原理 需求 开发流程 初始化PWM PWM占空比控制 main函数修改duty 输出通道 关心的内容 重要的关键词 周期 分频 占空比 总结 前言 在微控制器开发中,理解和掌握PWM&#x…...

debugger(七):栈帧(backtrace)

〇、前言 在前面已经详细得介绍了栈帧,这里实现 backtrace。 一、backtrace 思路是遍历 stack,搜索 stack pointer,逐个打印栈帧信息,一直打印到 main 函数。 void Debugger::print_backtrace() {auto output_frame [frame_n…...

kafka-重试和死信主题(SpringBoot整合Kafka)

文章目录 1、重试和死信主题2、死信队列3、代码演示3.1、appication.yml3.2、引入spring-kafka依赖3.3、创建SpringBoot启动类3.4、创建生产者发送消息3.5、创建消费者消费消息 1、重试和死信主题 kafka默认支持重试和死信主题 重试主题:当消费者消费消息异常时&…...

electron-Vue: Module parse failed: Unexpected character ‘ ‘

​ electron-Vue项目中,我自己写了一个node的C扩展(xx.node),然后在.vue文件里import它,然后运行npm run electron:serve,报错如下: ​​ electron-Vue打包默认使用webpack,默认情况下webpack没…...

贪心算法-数组跳跃游戏(mid)

目录 一、问题描述 二、解题思路 1.回溯法 2.贪心算法 三、代码实现 1.回溯法实现 2.贪心算法实现 四、刷题链接 一、问题描述 二、解题思路 1.回溯法 使用递归的方式,找到所有可能的走步方式,并记录递归深度(也就是走步次数&#x…...

C++经典150题

经典150题 数组/字符串 文章目录 经典150题数组/字符串88. 合并两个有序数组27.移除元素26.删除有序数组中的重复项80.删除有序数组重点重复项II169.多数元素189.轮转数组121.买卖股票的最佳时机123.买卖股票的最佳时机 III55.跳跃游戏45.跳跃游戏II 88. 合并两个有序数组 给…...

超详解——Python 序列详解——基础篇

目录 1. 序列的概念 字符串(String) 列表(List) 元组(Tuple) 2. 标准类型操作符 连接操作符() 重复操作符(*) 索引操作符([]) …...

DVWA-DC-6

靶机IP:192.168.20.140 kaliIP:192.168.20.128 网络有问题的可以看下搭建Vulnhub靶机网络问题(获取不到IP) 信息收集 nmap扫描靶机端口及版本信息 dirsearch扫目录 发现是个wordpress建站 我们去访问前端界面 存在重定向,修改hosts文件,加入192.168…...

ubuntu早期版本以及18.04后的版本,通过rc.local配置开机自启

在ubuntu早期版本以及18.04后的版本&#xff0c;还是支持在rc.local中进行操作开机自启。 1、编辑rc.local文件 cat <<EOF >/etc/rc.local #!/bin/sh -e # rc.local # This script is executed at the end of each multiuser runlevel. # Make sure that the script…...

【环境搭建】1.阿里云ECS服务器 安装jdk8

在阿里云服务器上安装 JDK 8 可以通过以下步骤完成。假设你使用的是 CentOS 或者其他基于 Red Hat 的发行版或Alibaba Cloud Linux 3.2104 LTS 64位。 1.更新系统软件包 sudo yum update -y2.安装 OpenJDK 8 使用 yum 包管理器安装 OpenJDK 8 sudo yum install -y java-1.8…...

idea插件开发之定义侧边栏

写在前面 看下如何在侧边栏定义窗口&#xff0c;如下的效果&#xff1a; 1&#xff1a;正戏 先来定义UI&#xff0c;随便拖拽个组件&#xff0c;就看个效果&#xff1a; 接着定义一个工厂类来创建这个UI&#xff0c;需要实现接口com.intellij.openapi.wm.ToolWindowFactor…...

HarmonyOS未来五年的市场展望

一、引言 随着科技的不断进步和消费者对于智能化设备需求的日益增长&#xff0c;操作系统作为连接硬件与软件的核心平台&#xff0c;其重要性愈发凸显。HarmonyOS&#xff08;鸿蒙系统&#xff09;&#xff0c;作为华为自主研发的分布式操作系统&#xff0c;自诞生以来便备受瞩…...

R语言:什么是向量化操作(Vectorization)?

在R语言中&#xff0c;向量化操作是一个非常重要且强大的概念。它不仅提高了代码的简洁性和可读性&#xff0c;还大大提升了代码的执行效率。本文将详细介绍什么是向量化操作&#xff0c;并通过几个示例来展示其应用。 什么是向量化操作&#xff1f; 向量化操作是指在不使用显…...

Python 机器学习 基础 之 【实战案例】中药数据分析项目实战

Python 机器学习 基础 之 【实战案例】中药数据分析项目实战 目录 Python 机器学习 基础 之 【实战案例】中药数据分析项目实战 一、简单介绍 二、中药数据分析项目实战 三、数据处理与分析实战 1、数据读取 2、中药材数据集的数据处理与分析 2.1数据清洗 2.2、 提取别…...

python中报错“ModuleNotFoundError: No module named ‘docx2txt‘”

python中from langchain_community.document_loaders import Docx2txtLoader报错“ModuleNotFoundError: No module named ‘docx2txt’” 问题描述: python中from langchain_community.document_loaders import Docx2txtLoader报错“ModuleNotFoundError: No module named ‘…...

json.dumps参数

json.dumps&#xff08;&#xff09;是 Python 中json 模块的一个函数&#xff0c;用于将 Python 对象编码成 JSON格式的字符串。这个函数有几个常用的参数&#xff0c;下面是一些主要的参数及其描述&#xff1a; 1. **obj**&#xff1a; 必需。要转换的 Python 对象。 2. *…...

未来已来,划时代革命性产品——全息数字人管家系统,全网首发

尊敬的投资人、亲爱的网友们&#xff1a; 大家好&#xff0c;我是数字人管家项目总设计师&#xff0c;我叫William wang。在这个科技日新月异的时代&#xff0c;我们正站在一个前所未有的交汇点上&#xff0c;数字与现实的边界日益模糊&#xff0c;智能技术正以前所未有的方式…...

psql导入数据报错排查

问题&#xff1a;采用pg_dump导出表数据后&#xff0c;用psql导入表数据&#xff0c;导入时报错 无效的命令 \N定位该问题的方法 --进入psql \set ON_ERROR_STOP on --退出psqlpsql -U postgres -d test -v ON_ERROR_STOPon < /home/postgres/test.dmp参考文章&#xff1a…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...