我们正在尝试使用此页面中描述的hello-world插件 - https://streamdata.io/blog/developing-an-helloworld-kong-plugin/
我们也尝试了这一点 - https://github.com/brndmg/kong-plugin-hello-world
我们在日志中遇到此错误: 2017/09/19 09:47:15 [错误] 1#0:init_by_lua错误:/usr/local/share/lua/5.1/kong.lua:154:hello-world插件正在使用但未启用 堆栈追溯: [C]:在函数'断言'中 /usr/local/share/lua/5.1/kong.lua:154:在函数'init'中 init_by_lua:3:在主要块中
我们使用的Kong版本是0.11.0。
有人可以建议我们可以遗漏什么吗?
答案 0 :(得分:2)
Kong提出此错误是因为您要求它运行名为hello-world
的插件,而不提供此插件的代码。
此错误试图说明此插件已配置为在数据存储区(PostgreSQL或Cassandra)中的API / Consumer上运行,但未添加到Kong配置custom_plugins
设置中。
要加载自定义插件,您需要两件事:
LUA_PATH
(请参阅此处的文档)custom_plugins
设置中才能加载它(来自LUA_PATH
)您可以编辑配置文件以使Kong加载插件:
custom_plugins = hello-world
或通过环境变量指定它:
export KONG_CUSTOM_PLUGINS=hello-world
如果您仍然看到此错误,则可能意味着您没有使用正在编辑的配置文件启动Kong。以详细模式启动Kong以查看它正在读取的配置文件以及custom_plugins
的值:
$ kong start --vv
您可以在网站的Plugins Development Guide部分详细了解如何安装0.11和自定义插件。
答案 1 :(得分:0)
我通过在 custom_plugins 和 lua_package_path 中添加内容来解决此问题。
以下是在kong Env中启用和使用自定义插件的步骤。
1 - 在--- custom_plugins = hello-world
中添加自定义插件名称2 - 使用以下步骤---
安装hello-world插件如果你有插件的源代码,那么进入它并执行命令--- “luarocks make”
它会安装你的插件。
现在你必须执行一个命令“make install-dev”确保你的插件有makefile就像 -
执行此命令“make install-dev”后。它会在类似的位置创建lua文件 -
<强> /你的-插件路径强> /lua_modules/share/lua/5.1/kong/plugins/ 您-插件名称强> / ?. LUA
只需复制此路径并将其添加到 lua_package_path
中的kong配置文件中类似的东西 -
<强> lua_package_path 强> = <强> /你的-插件路径强> /lua_modules/share/lua/5.1/kong/plugins/ 您-插件名称强> / ?. LUA
现在你完成了你的工作。
刚开始kong - kong start --vv
您将看到该插件加载到kong插件环境
@Enjoy