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

浏览 3.7k

功能:

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

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

用法:

配置语法:

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://blog.openacid.com/algo/quorum/ 前言paxos可以看做是2次多数派读写)完成一次强一致读写.多数派要求半数以上的参与者(paxos中的Acceptor)接受某笔操作.但多数派读写)并不一定需要多于半数的参与者,分布式系统中某些场合的优化,可以通过减少参与者数量来完成的. 多数派读写:分布式系统的基础分布式系统中,其中一个基础的问题是如何在不可靠硬件(低可用性)基础上构建可靠(高可用性)的服务,要达成这个目标,核心的手段就是复制(例如一份数据存3个副本).而复制过程中的一致性问题,最后都归结为paxos的解决方案.这些我们在paxos的直观解释中做了详细的介绍. 在paxos的直观解释slide-20中,我们了解到,paxos是通过2次多数派读写)来完成强一致的读写: 这个方法之所以能工作也是因为多数派写中,一个系统最多只能允许一个多数派写成功.paxos也是通过2次多数派读写来实现的强一致. 也就是说,多数派读写)在分布式领域是一个更基础的问题.在p
点赞 1
浏览 4.6k
ngx_python ngx_python -Embeddedpythonfornginx-module.Anothernameispython-nginx-module.Requirementpython2.7.*nginx-1.6.3+Installation$gitclonehttps://github.com/rryqszq4/ngx_python.git $wget'http://nginx.org/download/nginx-1.6.3.tar.gz' $tar-zxvfnginx-1.6.3.tar.gz $cdnginx-1.6.3 $exportPYTHON_INC=/path/to/python/include/python2.7 $exportPYTHON_BIN=/path/to/python/bin $./configure--user=www--group=www\ --prefix=/path/to/nginx\
点赞 0
浏览 4k
一年一度的秀恩爱大会又来了,吃了一天狗粮的你,饱了吗?但对于开发者们来说,520也不过是让发际线再高一点的平凡上班日。这些总被默认为“世界上最不懂浪漫的人”,其实都有一颗最火热的心。因为他们,始终在坚持他们的热爱。今天就为大家带来6位典型的代码界钢铁直男。 他们也是我们即将于6月,陆续在北京、深圳、上海3场线下meetup中分享的技术大神。 演讲嘉宾 罗剑锋,NGINX/OpenResty开源项目贡献者 深圳 6月26日 洪志道,NGINX核心研发人员 嘉宾介绍
点赞 0
浏览 3.9k