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 等都进行一致的高性能响应。
OpenResty 中文官网:https://openresty.org/cn/
打开官网,点击下载:https://openresty.org/cn/download.html
直接下载源码。
# 下载
wget https://openresty.org/download/openresty-1.21.4.2.tar.gz
# 解压
tar -zxvf openresty-1.21.4.2.tar.gz
bundle中包含很多模块以及nginx源代码。
./configure --help | more
可以查看configure 可选参数
# 1、安装前置依赖
yum install -y readline-devel pcre pcre-devel openssl openssl-devel gcc curl GeoIP-devel perl
# 2、编译
##选择模块 ./configure --help
./configure --with-luajit --with-pcre --with-http_gzip_static_module --with-http_realip_module --with-http_geoip_module --with-http_ssl_module --with-http_stub_status_module
#--with-http_gzip_static_module #静态文件压缩
#--with-http_stub_status_module #监控nginx状态
#--with-http_realip_module #通过这个模块允许我们改变客户端请求头中客户端IP地址值(例如X-Real-IP 或 X-Forwarded-For),意义在于能够使得后台服务器记录原始客户端的IP地址
#--with-pcre #设置PCRE库(pcre pcre-devel)
#--with-http_ssl_module #使用https协议模块。(openssl openssl-devel)
#--with-http_geoip_module #增加了根据ip获得城市信息,经纬度等模块 (GeoIP-devel)
# 3、安装,默认安装在/usr/local/openresty 目录
gmake
gmake install
自带nginx:
bin目录下的openresty可执行文件,也是直接链接到nginx上,所以启动openResty就是启动nginx。
vi /etc/profile
export NGINX_HOME=/usr/local/openresty/nginx
export PATH=$PATH:$NGINX_HOME/sbin
source /etc/profile ##生效
nginx
访问一下: