前言
这几天被工作上安排编写一份新手向的 OpenResty 入门教程,但至于 OpenResty 是个什么东西,我自己也没有什么概念,在 B 站看了会儿视频,简单说明一下个人的浅见吧
一.OpenResty 简介
1. OpenResty 介绍
OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。
2. OpenResty 应用场景
OpenResty 通过汇聚各种设计精良的 Nginx 模块,从而将 Nginx 有效地变成一个强大的通用 Web 应用平台,这样,Web 开发人员和系统工程师可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lua 模块,快速构造出足以胜任 10K 乃至 1000K 以上单机并发连接的高性能 Web 应用系统。
二.OpenResty 安装
推荐使用源码编译安装
OpenResty 插件分为自带插件以及第三方插件,如果是自带插件直接激活就可以,如果是第三方插件需要手动下载插件添加进去,这里我们以本地缓存插件安装举例。
1. 安装编译环境
yum install -y make cmake gcc gcc-c++ autoconf automake libpng-devel libjpeg-devel zlib libxml2-devel ncurses-devel bison libtool-ltdl-devel libiconv libmcrypt mhash mcrypt pcre-devel openssl-devel freetype-devel libcurl-devel lua-devel readline-devel curl wget
2. 下载最新版源码
mkdir /usr/local/openresty wget https://openresty.org/download/openresty-1.19.3.1.tar.gz tar -zxvf openresty-1.19.3.1.tar.gz # 解压openresty
3. 下载缓存插件
wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz tar -zxvf ngx_cache_purge-2.3.tar.gz #解压缓存插件
4. 编译 OpenResty
选择需要的插件启用,–with-Components 激活组件,–without 则是禁止组件,–add-module 是安装第三方模块
./configure --prefix=/usr/local/openresty --with-luajit --without-http_redis2_module --with-http_stub_status_module --with-http_v2_module --with-http_gzip_static_module --with-http_sub_module --add-module=/usr/local/openresty/modules/ngx_cache_purge-2.3 #配置缓存插件的源码路径
这里禁用了 redis 组件 并且 安装了第三方缓存组件
出现如下界面表示编译成功

5. 安装 OpenResty
gmake && gmake install
出现如下界面表示安装成功

6. 环境设置
vi /etc/profile ##加入path路径 export PATH=$PATH:/usr/local/openresty/nginx/sbin source /etc/profile ##生效配置
7. 查看环境
nginx -v nginx version: openresty/1.17.8.2 查看安装的组件 nginx -V
8. 运行测试
(1)创建 Nginx 配置文件:在 conf 目录下创建一个 nginx.conf 文件代码如下(与 nginx 的配置文件如出一辙),这里我们将 html 代码直接写在了配置文件中。
worker_processes 1; error_log logs/error.log; events { worker_connections 1024; } http { server { listen 9000; location /{ default_type text/html; content_by_lua ' ngx.say("Hello, World!
") '; } } }
9. 启动 OpenResty
nginx -c /usr/local/openresty/nginx/conf/nginx.conf
10. 测试
> curl http://localhost:9000/ Hello, World!
三.OpenResty 常用命令
