OpenResty入门

OpenResty入门

前言

这几天被工作上安排编写一份新手向的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组件 并且 安装了第三方缓存组件

出现如下界面表示编译成功 file

5.安装OpenResty

 gmake && gmake install

出现如下界面表示安装成功 file

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常用命令

file