如何在NGINX中调用LUA方法



我正在将lua与nginx一起使用。我的代码具有称为" Rabbitmq.createexchange"的LUA方法。当Nginx服务器启动时,我想调用此方法。

我尝试了遵循代码,但是我没有失败"此处不允许使用content_by_lua_block指令"。有什么解决方案?

http {

lua_package_path '/app/nginx/src/?.lua;;';
server {
 listen 4000;
 include 'src/proj1.conf';    

}

content_by_lua_block {
  local rabbitmq = require 'src/rabbitmq.lua';
  rabbitmq.createExchange("nginx", "topic");
} 

}

您可能想要init_by_lua_block- content_by_lua_block指令专门用于响应特定的location,而init_版本则用于启动:

init_by_lua_block

语法: init_by_lua_block {lua-script}

上下文: http

阶段: loading-config

init_by_lua指令类似 指令将LUA源直接嵌入到一对卷发中 括号({}),而不是在nginx字符串文字中(需要 特殊角色逃脱)。

例如,

 init_by_lua_block {
     print("I need no extra escaping here, for example: rnblah")  }

(从 init_by_lua节中,"在nginx master进程(如果有)加载nginx配置文件时,在全局lua vm级别上运行lua代码[...]。"

最新更新