我正在将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代码[...]。" )