指定了apisix依赖以及文件路径映射和端口映射。这样,一个简单的apisix开发环境就搭建好了。
插件开发
apisix本身自带了很多插件都在$APISIX_HOME/apisix/plugins目录里:limit-req.lua限流;proxy-rewrite.lua地址匹配;jwt-auth.lua授权认证;kafka-logger.lua日志等。
有时候这些自带的插件不能很好的满足我们应用需求时,需要我们自己开发。
我们可以在$APISIX_HOME/apisix/plugins目录下编写lua脚本。
当然也可以添加自定义的插件目录,这需要修改/usr/bin/apisix文件
1
2
3
4
5
第二行内容修改前
package.path = "/usr/local/apisix/?.lua;" .. package.path
修改后
package.path = "/usr/local/apisix/?.lua;/usr/local/apisix/third/?.lua;/usr/local/apisix/third/deps/share/lua/5.1/?.lua;" .. package.path
其中,/usr/local/apisix/third就是我们自定义的插件目录,这样apisix既会读取默认的插件目录,又会读取我们定义的插件目录。
目录定义好以后,记得把自定义的插件放在third/plugins目录下,不能直接放在third目录中。
然后我们写一个lua插件,内容很简单:每次请求的时候,打印日志。
https://p.51vv.com/vp/hOmkTWCV?vpian_userid=920428653
https://p.51vv.com/vp/3h8kTWCU?vpian_userid=920428653
https://p.51vv.com/vp/N3mkTWCg?vpian_userid=920428653
https://p.51vv.com/vp/N3mkTWCg
https://p.51vv.com/vp/3h8kTWCU
https://p.51vv.com/vp/hOmkTWCV
https://p.51vv.com/vp/hOmkTWCV?vpian_userid=920428653
https://p.51vv.com/vp/3h8kTWCU?vpian_userid=920428653
https://p.51vv.com/vp/N3mkTWCg?vpian_userid=920428653
https://p.51vv.com/vp/N3mkTWCg
https://p.51vv.com/vp/3h8kTWCU
https://p.51vv.com/vp/hOmkTWCV
https://p.51vv.com/vp/hOmkTWCV?vpian_userid=920428653
https://p.51vv.com/vp/3h8kTWCU?vpian_userid=920428653
https://p.51vv.com/vp/N3mkTWCg?vpian_userid=920428653
https://p.51vv.com/vp/N3mkTWCg
https://p.51vv.com/vp/3h8kTWCU
https://p.51vv.com/vp/hOmkTWCV
https://p.51vv.com/vp/hOmkTWCV?vpian_userid=920428653
https://p.51vv.com/vp/3h8kTWCU?vpian_userid=920428653
https://p.51vv.com/vp/N3mkTWCg?vpian_userid=920428653
https://p.51vv.com/vp/N3mkTWCg
https://p.51vv.com/vp/3h8kTWCU
https://p.51vv.com/vp/hOmkTWCV
https://p.51vv.com/vp/hOmkTWCV?vpian_userid=920428653
https://p.51vv.com/vp/3h8kTWCU?vpian_userid=920428653
https://p.51vv.com/vp/N3mkTWCg?vpian_userid=920428653
https://p.51vv.com/vp/N3mkTWCg
https://p.51vv.com/vp/3h8kTWCU
https://p.51vv.com/vp/hOmkTWCV
https://p.51vv.com/vp/hOmkTWCV?vpian_userid=920428653
https://p.51vv.com/vp/3h8kTWCU?vpian_userid=920428653
https://p.51vv.com/vp/N3mkTWCg?vpian_userid=920428653
https://p.51vv.com/vp/N3mkTWCg
https://p.51vv.com/vp/3h8kTWCU
https://p.51vv.com/vp/hOmkTWCV