openresty快速安装

Blog:博客园 个人

概述

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并不是个“单块”(Monolithic)的程序,而是由众多设计精良的组件集合而成的,这些组件可以灵活组装或拆卸,共同搭建起了完整的高性能服务器开发环境。

核心组件:

  • Nginx
  • LuaJit:Lua语言解释器
  • ngx_lua:处理http协议,让lua程序嵌入在Nginx里运行
  • stream_lua:处理tcp/udp协议

image-20210515111930008

安装

采用源码安装。

安装依赖

yum -y install readline-devel pcre-devel openssl-devel gcc gcc-c++ postgresql-devel geoip-devel

下载解压

cd /opt
wget https://openresty.org/download/openresty-1.19.3.1.tar.gz
tar zxf openresty-1.19.3.1.tar.gz

编译安装

cd openresty-1.19.3.1
# 若不指定路径,默认会安装在/usr/local/openresty
./configure --prefix=/opt/openresty \
            --with-luajit \
            --without-http_redis2_module \
            --with-http_iconv_module \
            --with-http_postgres_module \
	    --with-http_ssl_module \
	    --with-http_v2_module \
	    --with-http_realip_module \
	    --with-http_geoip_module \
	    --with-http_gzip_static_module \
	    --with-http_stub_status_module
# 根据实际核心数配置
make -j8 && make install

验证

新增一个location:

location /hello_lua {
	default_type 'text/plain';
	content_by_lua 'ngx.say("hello, lua")';
}

启动nginx

/opt/openresty/bin/openresty

验证

[root@test ~]# curl 127.0.0.1/hello_lua
hello, lua

ngx_lua相关指令

参考:https://github.com/openresty/lua-nginx-module#directives

posted @ 2021-05-15 16:58  不羁的罗恩  阅读(277)  评论(0编辑  收藏  举报