使用lua-resty-repl 调试openresty
lua-resty-repl 是一个方便的openresty 包,我们可以用来方便的调试openresty
以下是一个基于容器运行的一个试用
环境准备
- dockerfile
主要是安装模块以及一个supervisord(方便运行的,使用此接管1号进程)
FROM openresty/openresty:alpine-fat RUN /bin/sed -i ‘s,http://dl-cdn.alpinelinux.org,https://mirrors.aliyun.com,g‘ /etc/apk/repositories RUN apk update && apk add git COPY --from=ochinchina/supervisord:latest /usr/local/bin/supervisord /usr/local/bin/supervisord RUN /usr/local/openresty/luajit/bin/luarocks install lua-resty-repl ENTRYPOINT [ "/usr/local/bin/supervisord" ]
- docker-compose 文件
version: "3" services: api: build: ./ image: dalongrong/openresty:lua-resty-repl volumes: - "./nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf" - "./supervisor.conf:/etc/supervisor.conf" ports: - "80:80" - "9001:9001"
- supervisor 配置
可以不用
[inet_http_server] port = :9001
- nginx 配置
nginx.conf
master_process off; worker_processes 1; error_log stderr notice; daemon off; events { worker_connections 1024; } ? http { server { listen 80; lua_code_cache off; include mime.types; default_type application/octet-stream; gzip on; resolver 127.0.0.11 ipv6=off; real_ip_header X-Forwarded-For; real_ip_recursive on; location / { content_by_lua_block { require(‘resty.repl‘).start() } } } }
试用
- 构建镜像
docker-compose build
- 启动
docker-compose up -d
- 启动openresty
进入容器
docker-compose exec api sh openresty -c /usr/local/openresty/nginx/conf/nginx.conf
- 发送请求
http://localhost/?username=dalong&age=333
- 效果
- 执行调试命令
ngx.req.get_uri_args()
效果
说明
lua-resty-repl 是一个不错的openresty 调试工具,可以帮助我们调试一些问题,相比使用ngx.say 以及ngx.log 方便了好了很多
参考资料
https://github.com/saks/lua-resty-repl
https://github.com/rongfengliang/lua-resty-repl-learning
相关推荐
oLeiShen 2020-06-25
dahege 2020-06-25
wqiaofujiang 2020-06-16
zllbirdonland 2020-06-16
咻咻ing 2020-06-14
CSDNMrWang 2020-05-11
陈云佳 2020-04-21
Neptune 2020-04-20
aolishuai 2020-04-15
工作中的点点滴滴 2020-02-15
长安长夜Saint 2020-02-14
liwf 2020-01-10
taoqilin 2020-01-09
始终不够 2019-12-06
byourb 2019-11-29
徐中海C 2019-11-17
hong0 2019-11-17
houjinkai 2019-11-16
SZStudy 2016-07-27