# OpenResty

# raspberry pi 安装 OpenResty

参考地址 (opens new window)

  1. 从官网上下载源码包 下载链接 (opens new window)
  2. 安装依赖 apt-get install libpcre3-dev libssl-dev perl make build-essential curl
  3. 解压源码包;进入目录执行./configure;然后编译make;执行sudo make install
  4. 添加PATHexport PATH=$PATH:/usr/local/openresty/bin
  5. 可以写hello world了

# Hello World

  1. 新建一个文件test;再在里面建两个文件夹,分别是conf/logs/
  2. 在conf文件夹下新建nginx.conf,代码如下
events {
    worker_connections 1024;
}
 
http {
    server {
        listen 8080;
        location / {
            content_by_lua '
                ngx.say("hello, world")
            ';
        }
    }
}
  1. 启动服务
openresty -p `pwd` -c conf/nginx.conf
  1. 验证
$ curl -i 127.0.0.1:8080

# 小技巧

# 重启OpenResty服务

sudo kill -HUP `cat logs/nginx.pid`
sudo kill -1 `cat logs/nginx.pid`

# OpenResty使用相对路径启动

OpenResty 在启动时,会把 OpenResty 启动的命令行参数中的 -p PATH 作为前缀,将相对路径拼接为绝对路径。

# lua热加载

在nginx.conf 中关闭 lua_code_cache即可;线上要关闭,影响性能。

# 设置Lua模块的查找路径

可以把 lua_package_path 设置为 $prefix/lua/?.lua;;

  • $prefix就是启动参数中的 -p PATH;
  • /lua/?.lua表示 lua 目录下所有以 .lua 作为后缀的文件;
  • 最后的两个分号,则代表内置的代码搜索路径。
修改于: 8/11/2022, 3:17:56 PM