内容纲要

🗂 本文目录:NGINX >


简介

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 等都进行一致的高性能响应。

下载

和 NGINX 一样,从需要定制模块的角度所以选择源码构建的方式安装 OpenResty。

OpenResty – 下载 获取最新的源码包。

# 进入通常用于存放编译源码的目录
$ cd /usr/local/src

# 下载 OpenResty
$ sudo wget https://openresty.org/download/openresty-1.19.3.1.tar.gz

# 解压
$ sudo tar -xaf openresty-1.19.3.1.tar.gz
$ cd openresty-1.19.3.1/
/usr/local/src/openresty-1.19.3.1
├── bundle
├── configure
├── COPYRIGHT
├── patches
├── README.markdown
├── README-windows.txt
└── util

3 directories, 4 files

准备

在开始之前先解决一些依赖,为什么要安装这些依赖及未安装时会遇到的问题我在上一篇 NGINX | 使用源码构建(编译)安装 很详细的提到了,本篇就不再一步步来「遭遇」问题了。

安装 build-essential 以解决编译需要的依赖

$ sudo apt install build-essential

安装 PCRE、zlib 和 OpenSSL 三个库,注意请不要照搬所给出的示例,而是按照注释中的官方网站获取最新版本的下载链接:

# 回到本地源码目录
$ cd /usr/local/src

# 下载 PCRE https://ftp.pcre.org/pub/pcre/
$ sudo wget https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz
$ sudo tar -xaf pcre-8.44.tar.gz
$ cd pcre-8.44
$ sudo ./configure
$ sudo make && sudo make install

# 下载 zlib https://zlib.net/
$ sudo wget http://www.zlib.net/zlib-1.2.11.tar.gz
$ sudo tar -xaf zlib-1.2.11.tar.gz
$ cd zlib-1.2.11
$ sudo ./configure
$ sudo make && sudo make install

# 下载 OpenSSL https://www.openssl.org/source/
$ sudo wget https://www.openssl.org/source/openssl-1.1.1i.tar.gz
$ sudo tar -xaf openssl-1.1.1i.tar.gz
$ cd openssl-1.1.1i
$ ./config –help # target already defined - linux-x86_64
$ sudo ./Configure linux-x86_64
$ sudo make && sudo make install

# 返回到 OpenResty 安装目录
$ cd /usr/local/src/openresty-1.19.3.1

构建

# /usr/local/src/openresty-1.19.3.1/
$ ./configure --help | more

在编译前可以先看看支持哪些选项,如查看选择需要的模块等等

$ sudo ./configure --with-pcre=/usr/local/src/pcre-8.44 --with-zlib=/usr/local/src/zlib-1.2.11 --with-openssl=/usr/local/src/openssl-1.1.1i --with-http_ssl_module
$ sudo make
$ sudo make install

如果没有使用 --prefix 选项将默认安装至 /usr/local/openresty

查看 OpenResty 版本号以确认是否成功安装。

$ /usr/local/openresty/nginx/sbin/nginx -v
nginx version: openresty/1.19.3.1

成功。

其他

解决直接运行 nginx 时提示:nginx: command not found

$ sudo ln -s /usr/local/openresty/nginx/sbin/nginx /usr/bin/nginx