Openresty基础Demo

本文演示OpenResty应用中编写自己的 Lua 模块

1. 创建项目

创建项目结构

cd ~
mkdir demo
cd demo
mkdir conf
mkdir lua
mkdir logs
touch conf/nginx.conf

创建完项目结构如下
在这里插入图片描述

创建Lua模块

创建简单的lua模块文件

touch lua/test.lua

文件内容如下:

local _M = {}

function _M.test(name)
    ngx.log(ngx.INFO, 'test lua module')
    ngx.say('this from test.lua: ' .. name)
end

return _M

编写nginx配置文件

vi conf/nginx.conf
worker_processes  1;
error_log logs/error.log info;

events {
    worker_connections 128;
}
http {

    # 指定加载的lua模块路径($prefix 由启动脚本指定)
    lua_package_path "$prefix/lua/?.lua;;";

    init_worker_by_lua_block {
        ngx.log(ngx.INFO, "init_worker_by_lua_block worker.id=", ngx.worker.id())
        if 0 == ngx.worker.id() then
            ngx.log(ngx.INFO, "do something")
        end
    }

    server {
        listen 8080;
        location / {
            default_type text/html;
            content_by_lua_block {
                local hello = require "test"
                hello.test('xx');
            }
        }
    }
}

启动

# 配置检查,指定$prefix
nginx -p `pwd`/  -t
# 启动
nginx -p `pwd`/

# 验证
curl http://127.0.0.1:8080/
#:this from test.lua: xx

如有问题可查看log文件夹下的日志文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值