简介
OpenResty是一个基于Nginx与Lua的高性能Web平台,其内部集成了大量精良的Lua库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态Web应用、Web服务和动态网关。
OpenResty通过汇聚各种设计精良的Nginx模块(主要由OpenResty团队自主开发),从而将Nginx有效地变成一个强大的通用Web应用平台。这样,Web开发人员和系统工程师可以使用Lua脚本语言调动Nginx支持的各种C以及Lua模块,快速构造出足以胜任10K乃至1000K以上单机并发连接的高性能Web应用系统。
OpenResty的目标是让你的Web服务直接跑在Nginx服务内部,充分利用Nginx的非阻塞I/O模型,不仅仅对HTTP客户端请求,甚至于对远程后端诸如MySQL、PostgreSQL、Memcached以及Redis等都进行一致的高性能响应。
公司目前有这种通过lua合并接口的需求,来达到减少请求数量的目标,在nginx作为反向代理接收到请求时根据请求路径将原来多个接口的请求合并到一个json返回,减少http请求数,提高请求效率增加并发量。
安装(linux)
- 安装依赖
yum install pcre-devel openssl-devel gcc curl postgresql-devel
- 下载
wget -c https://openresty.org/download/openresty-1.15.8.1rc2.tar.gz
解压
tar -zxvf openresty-1.15.8.1rc2.tar.gz
- 源码编译
//切换目录
cd openresty-1.15.8.1rc2
//开始安装
./configure #或者下面,后面是参数 不写默认就行
./configure --prefix=/usr/local/openresty/ --with-http_stub_status_module --with-luajit --without-http_redis2_module --with-http_iconv_module --with-http_postgres_module --with-stream gmake && gmake install
- 添加环境变量
vim /etc/profile
#添加下面的环境到最后
PATH=/usr/local/openresty/nginx/sbin:$PATH
export PATH
#保存退出
执行生效命令:source /etc/profile
查看是否生效:echo $PATH
- 添加仓库执行命令
yum install yum-utils
yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo
- 执行安装
yum install openresty
安装成功后 会在默认的目录如下:/usr/local/openresty
- 配置nginx
默认已经安装好了nginx,在目录:/usr/local/openresty/nginx 下。
修改/usr/local/openresty/nginx/conf/nginx.conf ,将配置文件使用的根设置为root,目的就是将来要使用lua脚本的时候 ,直接可以加载在root下的lua脚本。
#user nobody; 配置文件第一行原来为这样, 现改为下面的配置
user root root;
测试访问: