点赞
评论
收藏
分享
举报
NGINX Tail Command 功能
发表于2021-05-18 22:06

浏览 3.5k

功能:

此功能可以在执行完某一类配置指令后执行特定脚本或者可执行程序,用来完成和系统的联动。

通过此功能可以不用修改源码直接通过配置来完成特定功能。

用法:

配置语法:

tail_command <nginx directive> <executable program>

比如:

tail_command proxy_bind /root/nginx/proxy_bind

tail_command listen listen_script.sh

配置语义:

tail_command listen ./listen_scritpt.sh

意思是,在执行完每条listen指令后顺便执行listen_script.sh脚本。并且把listen指令对应的参数都传递给listen_script脚本。

比如指令listen 80;执行完毕后,执行的脚本是./listen_script listen 80

指令listen 1.2.3.4 80-90; 执行完毕后, 执行的脚本是 ./listen_script listen 1.2.3.4 80-90

脚本或者可执行文件的名称可以是绝对路径,如果是相对路径则在NGINX的安装目录中查找,并且要求脚本或者可执行文件的属性是可执行。如果找不到配置的脚本或可执行文件,或者属性不可执行,则配置出错。

同一种指令只能配置一次,比如如下配置对listen指令进行了重复配置,属于配置错误:

tail_command listen ./listen_scritp.sh

tail_command listen ./listen_executable 

限制:

1. tail_command支持的指令只能是block里的指令,不支持main configure. 

2. tail_command配置指令要求放到配置文件开头处。

3. 只能支持某一类指令,而不是某一条指令。

4. 指令中的变量还不能求值后再传递。 比如 listen &host 80; 传递给脚本或者可执行程序的参数是 $host 80。


源码链接:

https://github.com/pei-jikui/nginx_tailcommand.git


配置举例:

...

13 worker_processes 1;
14 tail_command listen listen_script.sh;
15 events {
16 worker_connections 1024;
17 }
18

...







已修改于2023-03-07 11:37
本作品系原创
创作不易,留下一份鼓励
皮皮鲁

暂无个人介绍

关注



写下您的评论
发表评论
全部评论(0)

按点赞数排序

按时间排序

关于作者
皮皮鲁
这家伙很懒还未留下介绍~
85
文章
2
问答
45
粉丝
相关文章
原文来自:https://www.nginx.com/blog/nginx-app-protect-1-0-released/进行数字化转型的公司有明确的业务需求。其中包括改善现代业务应用程序的客户体验,采用敏捷实践以超越市场竞争对手,以及利用市场优势来推动新的收入来源。支持这些工作的是新的应用程序体系结构,这些体系结构可提高开发效率并结合了容器,微服务和API。对于现代应用程序,敏捷性和上市时间至关重要。安全通常是次要的考虑因素,或者被完全忽略。为什么?传统应用程序的安全控制并不总是能很好地映射到业务需求。例如,通常由SecOps团队配置和操作的那种复杂的Web应用程序防火墙(WAF)通常不太适合由DevOps团队支持特定业务线部署的敏捷应用程序。结果可能是安全性不足或配置错误,上市时间延迟以及不良的用户体验。推出NGINXAppProtectNGINXAppProtect是一种新的应用程序安全解决方案,它将先进的F5WAF技术的功效与NGINXPlus的敏捷性和性能相结合。该解决方案在NGINXPlus上本地运行,并解决了现代DevOps环境面临的一些最困难的挑战:将
点赞 4
浏览 8.9k
本文转载:https://segmentfault.com/a/1190000020345803作者:民工哥今天,我们来聊一聊,在企业实际生产环境中经常遇到的一个情况,升级Nginx到新的版本和如何回滚至旧版本。1、环境介绍今天准备的两个nginx版本如下:[root@nginx~]#cd/download/nginx/ [root@nginxnginx]#ll total1952 -rw-r--r--1rootroot981687Oct172017nginx-1.12.2.tar.gz -rw-r--r--1rootroot1015384Dec409:58nginx-1.14.2.tar.gz 2、编译安装新旧版本编译安装nginx-1.12.2[root@nginxnginx]#tarzxfnginx-1.12.2.tar.gz [root@nginxnginx]#cdnginx-1.12.2 [root@nginxnginx-1.12.2]#./configure--prefix=/usr/
点赞 0
浏览 3.8k
AI Gateway 简化了应用和 AI 模型之间的交互,并且提供了一种控制安全性、可观测性、治理和成本管理的方式。阅读本文,了解详情。访问 NGINX 中文官方开源社区(nginx.org.cn)了解详情。
点赞 0
浏览 8.8k