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

  • 相关阅读:
    (转)Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks(更快的RCNN:通过区域提议网络实现实时)
    vi常用命令
    Windows与Ubuntu通过ssh传文件
    Windows建立FTP服务器与Ubuntu互传文件
    备忘
    一些大牛博客地址
    springboot、springcloud学习记录
    我的git记录
    svn
    我的linux命令记录
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/13083533.html
Copyright © 2011-2022 走看看