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 好记

客户机访问

四,  需要了解熟记的模块

五,  几种常见请求方式

六 ,自定义图标

下载  百度图标

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

 

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

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

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

相关文章

DVWA 靶场之 Command Injection(命令执行)middlehigh

对于 middle 难度的 我们直接先看源码 <?phpif( isset( $_POST[ Submit ] ) ) {// Get input$target $_REQUEST[ ip ];// Set blacklist$substitutions array(&& > ,; > ,);// Remove any of the characters in the array (blacklist).$target str_rep…

若依前后端分离版开源项目学习

前言&#xff1a;vscode中vue代码没有高亮显示&#xff0c;可以下载vetur插件解决&#xff0c;ctrl点击无法跳转函数定义问题&#xff0c;可以下载vue-helper插件解决&#xff1b;idea中ctrl点击函数即可跳转函数定义。 一、登录 1.生成验证码 基本思路&#xff1a; 后端生…

探索 SPA 与 MPA:前端架构的选择与权衡

查看本专栏目录 关于作者 还是大剑师兰特&#xff1a;曾是美国某知名大学计算机专业研究生&#xff0c;现为航空航海领域高级前端工程师&#xff1b;CSDN知名博主&#xff0c;GIS领域优质创作者&#xff0c;深耕openlayers、leaflet、mapbox、cesium&#xff0c;canvas&#x…

哪里申请EV代码签名证书?

EV代码签名证书是一种高级别的数字证书&#xff0c;它通过严格的验证流程&#xff0c;确保软件发布者身份的真实性和可信度。相较于普通代码签名证书&#xff0c;EV证书采用了更严格的验证标准&#xff0c;包括对企业身份、法律地位、组织结构多个方面的核实。这使得EV证书成为…

ROS 2基础概念#1:计算图(Compute Graph)| ROS 2学习笔记

在ROS中&#xff0c;计算图&#xff08;ROS Compute Graph&#xff09;是一个核心概念&#xff0c;它描述了ROS节点之间的数据流动和通信方式。它不仅仅是一个通信网络&#xff0c;它也反映了ROS设计哲学的核心——灵活性、模块化和可重用性。通过细致探讨计算图的高级特性和实…

JavaScript最新实现城市级联操作,json格式的数据

前置知识&#xff1a; <button onclick"doSelect()">操作下拉列表</button><hr>学历&#xff1a;<select id"degree"><option value"0">--请选择学历--</option><option value"1">专科<…

峟思工程仪器仪表:高精度测缝计助力工程安全

随着科技的不断进步&#xff0c;工程测量领域对于设备的精度和可靠性要求越来越高。在这一背景下&#xff0c;峟思工程仪器仪表品牌的测缝计凭借其卓越的性能和广泛的应用领域&#xff0c;成为了工程测量领域中的佼佼者。 测缝计作为一种关键的工程监测设备&#xff0c;主要用于…

【经验】vscode 鼠标拖曳不能选中整行文字,只能选中纵向矩形范围

1、问题描述 不知道昨天操作vscode设置界面时&#xff0c;误选择了啥&#xff0c;导致鼠标拖曳不能选中整行文字&#xff0c;只能选中纵向矩形范围&#xff0c;现象如下&#xff1a; 2、解决方法 1&#xff09;打开设置界面 点击左下角按键&#xff0c;选择“设置” 2&…

使用百度人脸sdk无法激活的问题

有一个已在生产环境使用&#xff0c;并且非常稳定的项目&#xff0c;由于业务需要&#xff0c;需要适配新的一批机器&#xff0c;然后这批机器是新的Android11版本&#xff0c;也支持arm64-v8a&#xff0c;然后就发生特别神奇的问题&#xff0c;就是死活也激活不了设备&#xf…

TSINGSEE青犀AI智能分析网关V4智慧油田安全生产监管方案

一、方案背景 随着科技的不断发展&#xff0c;视频监控技术在油田行业中得到了广泛应用。为了提高油田生产的安全性和效率&#xff0c;建设一套智能视频监控平台保障安全生产显得尤为重要。本方案采用先进的视频分析技术、物联网技术、云计算技术、大数据和人工智能技术&#…

【Hudi】核心概念

https://www.bilibili.com/video/BV1ue4y1i7na?p17&vd_sourcefa36a95b3c3fa4f32dd400f8cabddeaf 大数据新风口&#xff1a;Hudi数据湖&#xff08;尚硅谷&Apache Hudi联合出品&#xff09; 1 基础概念 1.1 时间轴(TimeLine) 1.2 文件布局(File Layout) 1.3 索引(In…

Opencv实战(3)详解霍夫变换

霍夫变换 Opencv实战系列指路前文&#xff1a; Opencv(1)读取与图像操作 Opencv(2)绘图与图像操作 文章目录 霍夫变换1.霍夫线变换1.1 原理1.2 HoughLines() 2.霍夫圆变换2.1 原理2.2 HoughCircles() 最基本的霍夫变换是从黑白图像中检测直线(线段) 霍夫变换(Hough Transform…