nginx 第三方模块 与变量

一, 网页的状态页

 详细见上一章         《nginx 配置文件详细介绍》

二,Nginx 第三方模块

开源 不是官方模块 别人写的 你编译进nginx(./configure 这一步添加的模块)

(一)ehco 模块

这边以echo 模块为例子,简单介绍第三方模块如何安装使用

1,如何添加echo 第三方模块

首先需要下载echomo模块      再需要将nginx重新编译安装

1.1 安装 git   下载(网速很慢  需要科学上网)

1.2  解压  注意是zip 压缩包  用unzip解压

1.3 再去到 源码包  查看添加第三方模块的命令是   ./configure --add-module=路径

  

1.4   重新编译安装(编译安装前  关闭nginx)

1.5  -V  查看模块

2, echo 模块 作用

 nginx 在生产环境需要  经常使用变量   不使用echo模块,使用不了变量(会报错)

三  ,nginx 变量

分为内置变量以及   自定义变量

http://nginx.org/en/docs/varindex.html
官方文档

(一)常用内置变量

1, $remote_addr;   客户端的地址

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

2,$proxy_add_x_forwarded_for;ip 透传

2.1   正向代理  反向代理

正向代理 代理的是客户端 (科学上网 翻墙)

反向代理 代理的是 服务端 (我们访问百度 实际访问的是代理服务器)

2.2 作用

不论多少个 代理服务器 都能看到客户端真实ip

要求 所有的代理服务器 和web 服务器都要打开 这个功能

3, $args;    参数

#变量中存放了URL中的参数

3.1 具体内容

如:http://www.kgc.org/main/index.do?id=20190221&partner=search

#返回结果为: id=20190221&partner=search 

3.2 工作原理

找东西并不一定在本服务机 会去数据库找

4,$document_root;   根目录

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

注意! yum的是 /usr/share/nginx/html

           编译是自定义的  如 /apps/nginx/html

           会根据 locaton 走

5,$document_uri;    / 开始 ?前

#保存了当前请求中不包含参数的URI,注意是不包含请求的指令

如:http://www.kgc.org/main/index.do?id=20190221&partner=search

#返回结果为:  /main/index.do

6, $host;    服务端主机名

#存放了请求的host名称

7,$limit_rate;   限速

7.1 使用方法

limit_rate 10240;
echo $limit_rate;

7.2 注意事项

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

8,$remote_port;   客户端端口

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

9,$remote_user;   用户名

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

10,$request_body_file;    

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

11,$request_method;   GET/PUT/DELETE等

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

12, $request_filename;    系统的真实 路径

#当前请求的资源文件的磁盘路径,由root或alias指令与URI请求生成的文件绝对路径,

13, $request_uri;    /后面的内容

例如: https:// www.baidu.com/main/index.do?id=20190221&partner=search 

返回值    /main/index.do?id=20190221&partner=search   相当于:$document_uri?$args

14,$scheme;   请求的协议

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

15, $server_protocol;    客户端版本

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

16, $server_addr;   服务器的IP

#保存了服务器的IP地址

17,  $server_name;   服务器的主机名

#请求的服务器的端口号,

18, $server_port;  443  https   服务器的端口号

$server_port;  443  https 
 

19, $http_<name>;报文·首部字段

#name为任意请求报文首部字段,表示记录请求报文的首部字段

用法:

挑首部 得到后面的

20,  $http_user_agent;  客户端浏览器

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

21, $http_cookie;    客户端的cookie

#客户端的cookie信息

22, $cookie_<name>

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

23,$http_<name>

#name为任意请求报文首部字段,表示记录请求报文的首部字段,ame的对应的首部字段名需要为小写,如果有横线需要替换为下划线

#示例: 
echo $http_user_agent; 
echo $http_host;

24, $sent_http_<name>

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

25,$arg_<name>

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

(二) 常用变量示例

服务机配置文件:

客户机访问

 -b  加上cookie

(三) 自定义变量

假如需要自定义变量名称和值,使用指令set $variable value;

1,语法

2,示例

服务机配置文件

注意: 可以把变量设置为变量!比如$server_port 你觉得比较难记   $my_port 好记

客户机访问

四,  需要了解熟记的模块

五,  几种常见请求方式

六 ,自定义图标

下载  百度图标

把下载好的图标   复制到主目录

 

客户机再次访问  可以看到我们的小图标已经设置完成了

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

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

相关文章

MySQL-行转列,链接查询

1. 行转列 1.1 示例数据准备 create table test_9(id int,name varchar(22),course varchar(22),score decimal(18,2) ); insert into test_9 (id,name,course,score)values(1,小王,java,99); insert into test_9 (id,name,course,score)values(2,小张,java,89.2); inse…

RocketMQ - 消息中间件路由中心的架构原理

1. NameServer到底可以部署几台机器 要部署RocketMQ&#xff0c;就得先部署NameServer&#xff0c;那么NameServer到底可以部署几台机器呢&#xff1f;是一台机器还是可以部署多台机器&#xff0c;如果部署多台机器&#xff0c;他们之间是怎么协同工作的&#xff1f; NameSer…

备战蓝桥杯————递归反转单链表

当要求只反转单链表中的一部分时&#xff0c;递归实现确实具有一定的挑战性&#xff0c;但也是可行的。下面我将介绍一种递归实现的方法来反转单链表中的一部分。 一、反转链表 题目描述 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示…

Mac 下 Python+Selenium 自动上传西瓜视频

背景 研究下 PythonSelenium 自动化测试框架&#xff0c;简单实现 Mac 下自动化批量上传视频西瓜视频并发布&#xff0c;分享给需要的同学&#xff08;未做过多的异常处理&#xff09;。 脚本实现 首先通过手工手机号登录&#xff0c;保存西瓜视频网站的 cookie 文件 之后加载…

基于java在线调查表单系统

基于java在线调查表单系统 一、演示效果二、特性汇总三、下载链接 一、演示效果 二、特性汇总 多种技术方案&#xff0c;满足不同的技术选型需求完善的浏览器兼容、保证传统客户也能正常使用部署简单&#xff0c;一行命令完成部署更新方便&#xff0c;直接替换原安装文件不用担…

通过二叉树例题深入理解递归问题

目录 引入&#xff1a; 例1&#xff1a;二叉树的前序遍历&#xff1a; 例2&#xff1a; N叉树的前序遍历&#xff1a; 例3&#xff1a;二叉树的最大深度&#xff1a; 例4&#xff1a;二叉树的最小深度 例5&#xff1a;N叉树的最大深度&#xff1a; 例6&#xff1a;左叶子…

基于Springboot的旅游网管理系统设计与实现(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的旅游网管理系统设计与实现&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层…

ui设计:利用即使设计设计出漂亮样式

目录 一、基本操作 二、具体介绍 6-1 填充图片 6-2 填充色 6-3 图标 右边栏基础设置 右边栏导出​编辑 一、基本操作 二、具体介绍 6-1 填充图片 选择其一图片填充 6-2 填充色 6-3 图标 右边栏基础设置 右边栏导出

C++17之折叠表达式

相关文章系列 深入理解可变参数(va_list、std::initializer_list和可变参数模版) 目录 1.介绍 2.应用 2.1.使用折叠表达式 2.2.支持的运算符 2.3.使用折叠处理类型 3.总结 1.介绍 折叠表达式是C17新引进的语法特性。使用折叠表达式可以简化对C11中引入的参数包的处理&…

自定义el-upload 上传文件

前言 最近在做一个文件上传的功能&#xff0c;后端接口写好了、发现前端上传文件的页面不会写……&#xff08;我很笨的&#xff09;然后我就找啊找发现element有个组件是<el-upload/>能直接上传文件。我就想直接用拿来改改改成自己想要的&#xff0c;可是就是这样我花了…

【C++】拷贝构造函数(深拷贝和浅拷贝)

使用场景 在C类中&#xff0c;我们在类的成员变量内定义了一个指针。这时我们需要去创建它的拷贝构造函数&#xff0c;否则编译器会为这个类创建默认的拷贝构造函数&#xff0c;而默认拷贝构造函数会导致浅拷贝问题&#xff1b;浅拷贝可能会会导致内存泄漏问题&#xff0c;也可…

MATLAB Function转C代码实战

文章目录 前言1. 准备工作2. 使用MATLAB Coder2.1 确定输入输出的类型2.2 MATLAB Coder过程 3. 代码调整和优化4. 编译和测试5. 性能分析和优化结语 前言 在科学与工程领域&#xff0c;MATLAB&#xff08;Matrix Laboratory&#xff09;是一种广泛使用的高级技术计算软件&…

一个Post请求入门NestJS的路由与控制器

​ NestJS的控制器 控制器负责处理传入请求并向客户端返回响应。 控制器的目的是接收应用的特定请求。路由机制控制哪个控制器接收哪些请求。 通常&#xff0c;每个控制器都有不止一条路由&#xff0c;不同的路由可以执行不同的操作。 在使用了脚手架的项目中&#xff0c;我…

【激光SLAM】基于图优化的激光SLAM 方法(Grid-based)

文章目录 Graph-based SLAM数学概念 非线性最小二乘(Non-Linear Least Square)解决的问题误差函数线性化流程 非线性最小二乘在SLAM中的应用图的构建&#xff08;SLAM前端&#xff09;误差函数误差函数的线性化固定坐标系构建线性系统求解 Cartographer介绍 Graph-based SLAM …

如何在本地部署密码管理软件bitwarden并结合cpolar实现远程同步

文章目录 1. 拉取Bitwarden镜像2. 运行Bitwarden镜像3. 本地访问4. 群晖安装Cpolar5. 配置公网地址6. 公网访问Bitwarden7. 固定公网地址8. 浏览器密码托管设置 Bitwarden是一个密码管理器应用程序&#xff0c;适用于在多个设备和浏览器之间同步密码。自建密码管理软件bitwarde…

上门服务系统|上门服务小程序|上门服务软件开发

随着移动互联网技术的普及&#xff0c;上门服务小程序系统成为现代企业数字化转型的关键一环。这一系统为消费者提供了更加便捷、高效以及个性化的服务体验&#xff0c;同时也为企业带来了更广阔的商业机会。让我们来看看上门服务小程序系统的优势和功能。 首先&#xff0c;上门…

数据安全治理实践路线(下)

数据安全运营阶段通过不断适配业务环境和风险管理需求&#xff0c;持续优化安全策略措施&#xff0c;强化整个数据安全治理体系的有效运转。 数据安全运营 1. 风险防范 数据安全治理的目标之一是降低数据安全风险&#xff0c;因此建立有效的风险防范手段&#xff0c;对于预防…

使用Docker部署MinIO并结合内网穿透实现远程访问本地数据

文章目录 前言1. Docker 部署MinIO2. 本地访问MinIO3. Linux安装Cpolar4. 配置MinIO公网地址5. 远程访问MinIO管理界面6. 固定MinIO公网地址 前言 MinIO是一个开源的对象存储服务器&#xff0c;可以在各种环境中运行&#xff0c;例如本地、Docker容器、Kubernetes集群等。它兼…

Redis高可用三主三从集群部署

文章目录 &#x1f50a;博主介绍&#x1f964;本文内容使用宝塔面板搭建集群规划配置验证 使用docker搭建使用脚本搭建&#x1f4e2;文章总结&#x1f4e5;博主目标 &#x1f50a;博主介绍 &#x1f31f;我是廖志伟&#xff0c;一名Java开发工程师、Java领域优质创作者、CSDN博…

【JS】事件绑定方法自带一个形参e“function(e)”,what is e?

在学习js的时候 我跳过了一部分章节的内容&#xff0c;导致现在学习react的时候很多内容都不知所措&#xff0c;因为这些教程都是建立在它认为你js所有内容都掌握的前提下&#xff0c;当然这是我自身的原因。需要反省。 下面是正题&#xff1a; 我们知道js有很多事件&#…