# OpenResty
# raspberry pi 安装 OpenResty
- 从官网上下载源码包 下载链接 (opens new window)
- 安装依赖
apt-get install libpcre3-dev libssl-dev perl make build-essential curl - 解压源码包;进入目录执行
./configure;然后编译make;执行sudo make install - 添加PATH
export PATH=$PATH:/usr/local/openresty/bin - 可以写hello world了
# Hello World
- 新建一个文件test;再在里面建两个文件夹,分别是
conf/和logs/ - 在conf文件夹下新建
nginx.conf,代码如下
events {
worker_connections 1024;
}
http {
server {
listen 8080;
location / {
content_by_lua '
ngx.say("hello, world")
';
}
}
}
- 启动服务
openresty -p `pwd` -c conf/nginx.conf
- 验证
$ 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 作为后缀的文件;
- 最后的两个分号,则代表内置的代码搜索路径。