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除了一些基本配置外,还有一些高级配置,如网页的状态,第三方模块需要另外安装,支持变量,…...
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后的版本,还是支持在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插件开发之定义侧边栏
写在前面 看下如何在侧边栏定义窗口,如下的效果: 1:正戏 先来定义UI,随便拖拽个组件,就看个效果: 接着定义一个工厂类来创建这个UI,需要实现接口com.intellij.openapi.wm.ToolWindowFactor…...
HarmonyOS未来五年的市场展望
一、引言 随着科技的不断进步和消费者对于智能化设备需求的日益增长,操作系统作为连接硬件与软件的核心平台,其重要性愈发凸显。HarmonyOS(鸿蒙系统),作为华为自主研发的分布式操作系统,自诞生以来便备受瞩…...
R语言:什么是向量化操作(Vectorization)?
在R语言中,向量化操作是一个非常重要且强大的概念。它不仅提高了代码的简洁性和可读性,还大大提升了代码的执行效率。本文将详细介绍什么是向量化操作,并通过几个示例来展示其应用。 什么是向量化操作? 向量化操作是指在不使用显…...
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()是 Python 中json 模块的一个函数,用于将 Python 对象编码成 JSON格式的字符串。这个函数有几个常用的参数,下面是一些主要的参数及其描述: 1. **obj**: 必需。要转换的 Python 对象。 2. *…...
未来已来,划时代革命性产品——全息数字人管家系统,全网首发
尊敬的投资人、亲爱的网友们: 大家好,我是数字人管家项目总设计师,我叫William wang。在这个科技日新月异的时代,我们正站在一个前所未有的交汇点上,数字与现实的边界日益模糊,智能技术正以前所未有的方式…...
psql导入数据报错排查
问题:采用pg_dump导出表数据后,用psql导入表数据,导入时报错 无效的命令 \N定位该问题的方法 --进入psql \set ON_ERROR_STOP on --退出psqlpsql -U postgres -d test -v ON_ERROR_STOPon < /home/postgres/test.dmp参考文章:…...
项目:双人五子棋对战-对战模块(6)
完整代码见: 邹锦辉个人所有代码: 测试仓库 - Gitee.com 当玩家进入到游戏房间后, 就要开始一局紧张而又刺激的五子棋对战了, 本文将就前端后端的落子与判断胜负的部分作详细讲解. 模块详细讲解 约定前后端交互的接口 首先是建立连接后, 服务器需要生成一些游戏的初始信息(可…...
LeakSearch:针对网络公开凭证的安全扫描与检测工具
关于LeakSearch 在红队演戏过程中,往往需要获取到针对目标域的访问权限。在这个过程中,很多红队人员会选择使用暴露在互联网上的代理服务器来实现目标域的访问,那么此时就需要在互联网上收集公开暴露的凭证信息。 对于蓝队来说,…...
ArcoDesgin a-model中自定义样式model-class无效
增加黄框代码解决 原因是,动态加载的组件默认渲染在body下面,与#app平级。样式设置无效 加上:render-to-body“false”,让组件不渲染到body下,渲染在app下面,样式设置生效...
持续总结中!2024年面试必问 20 道分布式、微服务面试题(十)
上一篇地址:持续总结中!2024年面试必问 20 道分布式、微服务面试题(九)-CSDN博客 十九、请描述一种微服务部署策略。 微服务部署策略是确保微服务架构中各个独立服务能够高效、稳定地部署到生产环境中的方法。以下是一些常见的微…...
北航第四次数据结构与程序设计编程题复习
到期末了,所以再来复习一下以前的作业。 北航第四次数据结构与程序设计编程题 一、栈操作(栈-基本题)二、C程序括号匹配检查三、计算器(表达式计算-后缀表达式实现,结果为浮点)四、文本编辑操作模拟&#…...
golang调用外部程序包os/exec中的 Command和CommandContext 函数创建的Cmd对象的区别
在go语言中,我们可以通过os/exec包中的Command和CommandContext 函数创建对应的外部程序执行Cmd对象, 这2个函数创建的cmd命令执行对象是有区别的,CommandContext创建的对象可以携带上下文,这个主要用于我们通过cancel函数给对应的…...
Redis进阶知识个人汇总
持久化 三种方式实现它的持久化: RDB持久化 全称Redis数据备份文件,又称Redis数据快照 这种就是将Redis内存中所有数据记录到磁盘中,当实例出故障后,从磁盘中读快照文件进行恢复数据。 一般使用bgsave指令实现 复制主线程得到一…...
从中序与后序遍历序列构造二叉树-力扣
中序遍历序列存放节点的顺序是左中右,后序遍历存放节点的顺序是左右中后序遍历序列的最后一个节点即为二叉树的根节点由于每个值在二叉树中都是唯一的,那么根据根节点的值,就可以将中序遍历序列一分为二,前部分存储的是根节点左子…...
操作系统期末复习(大题)
1. 进程调度 周转时间作业完成时刻-作业到达时刻 带权周转时间周转时间/服务时间 平均周转时间各个作业周转时间之和/作业个数 操作系统:周转时间和其他时间_系统为作业提供的时间-CSDN博客 2. 进程调度 3. 调度算法 4. 临界区互斥访问问题 即证明是否满足互斥&a…...
解决富文本中抖音视频无法播放的问题——403
问题 富文本中的抖音视频无法播放,资源状态码是403禁止访问打开控制台,可以看到在项目中打开,数据请求的请求头多了一个Referer: http://localhost:3000/而复制链接在新窗口直接打开,请求头中并不会携带Referer 解决方案 在ind…...
wordpress静态化nginx/清远新闻最新消息
问题:[判断题] 计算机的工作组名或域名、计算机名等区分计算机特征的配置不得随意修改,但可以自行修改计算机的IP地址。()A . 正确B . 错误工商专网为非涉密网,与政务内网实现数据共享,可以直接相连。() 正确。 错误。上官夫妇目前…...
莱山做网站的公司/一键优化免费下载
文/ IT创事记 祁萌人工智能变现的速度和能力超乎了传统行业的想象。即便在计算机视觉这样的“市场显学”中,一个独特的切入点就可以让一家创业公司在市场中崭露头角。华为北京城市峰会中,生态伙伴对云与AI格外关注。小视科技(Minivision&…...
使用循环视频做背景的网站/seo网络推广课程
参考:List of HTTP header fields 翻译 标准要求字段 字段名说明例子状态A-IM可接受实例操作的请求A-IM: feed永久的Accept对于响应来说是(/是)可接受的媒体类型。看到内容协商。Accept: text/html永久的Accept-Charset可接受的字符集。Accept-Charset: utf-8永久的…...
关于做网站的问卷调查/美容美发培训职业学校
什么是单元测试? 程序开发过程中,写代码是为了实现需求。当我们的代码通过了编译,只是说明它的语法正确,功能能否实现则不能保证。 因此,当我们的某些功能代码完成后,为了检验其是否满足程序的需求。可以通…...
怎么做网站写手/百度惠生活推广怎么收费
一,读书列表 1,<简明python教程>,电子版。。。python基础,在2月1日前看完并消化 2,<鸟哥的linux私房菜-基础篇>,电子版(纸质的书,也太贵了,又厚),…...
昆明网站建设咨询/百度链接提交工具
1.安装JSEncrypt npm install jsencrypt2.在登陆页面引用 import { JSEncrypt } from "jsencrypt";3.点击登录对表单验证 // 点击登录按钮async loginClick(){this.$refs.loginFormRef.validate(async valid>{if(!valid){return}// 深拷贝表单对象const form…...