zoukankan      html  css  js  c++  java
  • 使用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

  • 相关阅读:
    C语言II|博客园04
    C语言!!!博客作业03
    C语言II博客作业02
    C语言II—作业01
    deppin系统安装electron步骤及问题
    deppin20.2 频繁卡死问题已解决
    那些实用的Nginx规则
    hibernate4升级5带来的一些参数变化
    java 后台获取文件上传的真实扩展名
    eclipse 卡顿的优化办法
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/13083533.html
Copyright © 2011-2022 走看看