安装
推荐您使用yum安装以下的开发库:
代码语言:javascript复制yum install readline-devel pcre-devel openssl-devel -y
Docker容器还可能要安装:
代码语言:javascript复制yum install wget perl gcc -y
下载最新版本:
代码语言:javascript复制wget https://openresty.org/download/openresty-1.11.2.4.tar.gz
解压并重命名:
代码语言:javascript复制tar -xvf openresty-1.11.2.4.tar.gz
mv openresty-1.11.2.4 openresty
安装配置:
代码语言:javascript复制./configure
您可以使用下面的命令来编译安装:
代码语言:javascript复制make && make install
如果您的电脑支持多核 make 工作的特性, 您可以这样编译安装:
代码语言:javascript复制make && make install -j2
为了方便启动,建立软连接:
代码语言:javascript复制ln -s /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx
配置文件
代码语言:javascript复制vi /usr/local/openresty/nginx/conf/nginx.conf
代码语言:javascript复制server {
listen 80;
server_name localhost;
charset utf-8;
location / {
default_type text/html;
content_by_lua 'ngx.say("<p>Hello,科帮网</p>")';
}
}
启动服务:执行 nginx命令即可,然后访问http://47.94.232.109/
使用场景
和大部分知名开源软件诞生在欧美国家不同,OpenResty 自身和依赖的主要组件都是金砖国家的开发者发明的,这点还挺有意思。
Nginx 是俄罗斯人发明的, Lua 是巴西几个教授发明的,国人章亦春把 LuaJIT VM 嵌入到 Nginx 中,实现了 OpenResty 这个高性能服务端解决方案。
通过 OpenResty,你可以把 nginx 的各种功能进行自由拼接, 更重要的是,开发门槛并不高,这一切都是用强大轻巧的 Lua 语言来操控。
- 在 Lua 中揉和和处理各种不同的 nginx 上游输出(Proxy,Postgres,Redis,Memcached 等)
- 在请求真正到达上游服务之前,Lua 可以随心所欲的做复杂的访问控制和安全检测
- 随心所欲的操控响应头里面的信息
- 从外部存储服务(比如 Redis,Memcached,MySQL,Postgres)中获取后端信息,并用这些信息来实时选择哪一个后端来完成业务访问
- 在内容 handler 中随意编写复杂的 Web 应用,使用 同步但依然非阻塞 的方式,访问后端数据库和其他存储
- 在 rewrite 阶段,通过 Lua 完成非常复杂的 URL dispatch
- 用 Lua 可以为 nginx 子请求和任意 location,实现高级缓存机制
相关站点
Nginx使用教程: https://blog.52itstyle.vip/tag/nginx/ OpenResty 中文官网:http://openresty.org/cn/