On Jun 11, 2018, at 04:30, punck super <2475...@qq.com> wrote:想在init阶段定时同步一下状态信息到远端,包括nginx的ip和server_name(域名信息),但是ngx.var.server_addr 、ngx.var.server_name 即ngx.var最早只能在set_by_lua阶段使用有没有什么其他好的方法可以在init阶段获取呢 -- --
Hello, ngx.var.* 获取的都是跟当前请求有紧密关系的变量。举个例子说,nginx可以有多个server block来侦听多个域名的请求,那么在init阶段你由于没有请求的上下文所以无法知道server_name是什么。你可以把你具体的需求贴出来看看有没有比较好的work around。比方说,如果你是想定时同步一些monitor的数据的话,你可以在请求中把对应的信息写到一个shared dict里,然后在init阶段创建一个timer.every定时器来定时执行。On Jun 11, 2018, at 04:30, punck super <2475...@qq.com> wrote:想在init阶段定时同步一下状态信息到远端,包括nginx的ip和server_name(域名信息),但是ngx.var.server_addr 、ngx.var.server_name 即ngx.var最早只能在set_by_lua阶段使用有没有什么其他好的方法可以在init阶段获取呢 --
On Jun 11, 2018, at 04:30, punck super <2475...@qq.com> wrote:想在init阶段定时同步一下状态信息到远端,包括nginx的ip和server_name(域名信息),但是ngx.var.server_addr 、ngx.var.server_name 即ngx.var最早只能在set_by_lua阶段使用有没有什么其他好的方法可以在init阶段获取呢 --