博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在CentOS 6.9 x86_64上玩转OpenResty 1.13.6.1中的resty-cli模块
阅读量:4185 次
发布时间:2019-05-26

本文共 1290 字,大约阅读时间需要 4 分钟。

resty-cli是OpenResty中命令行工具的集合,其中resty工具是最有用的。

安装好OpenResty之后,resty-cli就会默认安装,以我的安装为例,参见博文

它的位置在/opt/openresty/bin下面

前提条件

OpenResty 1.7.7.2+

配置环境变量

vim /etc/profile

将末尾添加进目录/opt/openresty/bin

export PATH=/opt/openresty/nginx/sbin:/opt/openresty/bin:$PATH

保存退出,然后运行下面的命令生效

source /etc/profile

执行下面的命令检查

echo $PATH

安装依赖库

yum -y install perl-Time-HiRes

原因参见博文

然后我们可以查看resty的路径和版本号

resty -h

resty -v

业务需求

通常我们验证nginx_lua中的脚本,或者调试lua相关代码片段,或者了解ngx.md5之类函数的用法等,只能通过加入nginx.conf中的配置,在nginx框架上玩。
但是这未免比较不便,如果我们有一个命令行工具类似lua, luajit, python等直接执行该多好啊。那么这里的resty就是你想要的工具。
测试样例

下面的几个例子都是来自resty-cli模块的官网

resty -e 'print("hello world")'

time resty -e 'ngx.sleep(3) print("done\n")'

resty -e 'ngx.say(ngx.md5("hello"))'

resty -e 'io.stderr:write("hello world\n")' > /dev/null

更深入的例子及高深玩法有待后续继续挖掘

resty -e 'print("got: ", io.stdin:read("*l"))'

其中taoyunxing是我从键盘输入的内容。

time resty -e 'local ths = {}

                 for i = 1, 3 do
                     ths[i] = ngx.thread.spawn(function ()
                                  ngx.sleep(3) ngx.say("done ", i)
                              end)
                 end
                 for i = 1, #ths do ngx.thread.wait(ths[i]) end'

resty --shdict='dogs 1m' -e 'local dict = ngx.shared.dogs                               dict:set("Tom", 56)                               print(dict:get("Tom"))'

参考文献

[1].https://openresty.org/cn/resty-cli.html

[2].https://github.com/openresty/resty-cli#readme

[3].

你可能感兴趣的文章
英语学习加油站[收集]
查看>>
Asp.net 2.0 自定义控件开发专题讲解[为用户控件增加DataSource属性, 能够自动识别不同数据源](示例代码下载)
查看>>
2007.5.13 祝天下所有的母亲: 节日快乐!
查看>>
Asp.net 2.0自定义控件开发相关的几种嵌入资源解决方案
查看>>
Asp.net 2.0控件开发相关调试(JavaScript调试和自定义控件设计时调试)
查看>>
Asp.net 2.0 自定义控件开发专题[详细探讨页面状态(视图状态和控件状态)机制及其使用场景](示例代码下载)
查看>>
Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]
查看>>
Asp.net 2.0 自定义控件开发[实现自动计算功能(AutoComputeControl)][示例代码下载]
查看>>
[转载]《越狱》第二季过后,剧情跌宕起伏,各角色们的命运也各有不同,现公布如下
查看>>
Asp.net 2.0 自定义控件开发[实现GridView多行表头固定表体滚动效果][示例代码下载]
查看>>
Asp.net 2.0 自定义控件开发[创建自定义浮动菜单FloadMenu控件][示例代码下载]
查看>>
[MVP] 热烈祝贺!您已经获得连任 Microsoft MVP 奖励
查看>>
Asp.net 2.0 自定义控件开发[创建自定义右键PopupMenu控件][示例代码下载]
查看>>
Asp.net 2.0 自定义控件开发[创建自定义HeaderRow的GridView控件][示例代码下载]
查看>>
珍惜自已的爱, 世界上没有後悔药 [转载收藏]
查看>>
人力资源的统统都来学习一下
查看>>
她为了8块5毛钱……[转载]
查看>>
ASP.NET 2.0 HttpHandler实现生成图片验证码(示例代码下载)
查看>>
如何才能成为信息顾问
查看>>
书讯 -- SQL Server 2005 Practical Troubleshooting The Database Engine
查看>>