第一节:OpenResty简介、安装步骤详解(yum/源代码编译)、实操测试

一. 前言

1.  简介 

  (官网:https://openresty.org/cn/

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

 

2. 流程介绍

  nginx实际把请求处理流程划分为了11个阶段,这样划分的原因是将请求的执行逻辑细分,各阶段按照处理时机定义了清晰的执行语义,开发者可以很容易分辨自己需要开发的模块应该定义在什么阶段。

 

二. yum/dnf安装

(适用于简单快速使用,不适用鱼安装各种模块)

1. 添加openresty仓库

sudo yum install yum-utils
sudo yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo

 

2. 安装openresty

sudo yum install openresty

 

三. 源代码编译安装

(适用于复杂的使用,OpenResty插件分为自带插件以及第三方插件,如果是自带插件直接激活就可以,如果是第三方插件需要手动下载插件添加进去)

(ps: nginx 和 openresty 不要同时安装哦,否则没法配置两个环境变量哦)

下面步骤在centos steam 9 中运行。

1. 安装编译环境

 先运行指令 【 yum install epel-release】启用其它软件源,然后安装下面的指令

(第5行无法安装,提示无法匹配,暂时也没有影响,不影响后续的使用)

yum install -y make cmake gcc gcc-c++ autoconf automake
yum install -y libpng-devel libjpeg-devel zlib libxml2-devel ncurses-devel bison
yum install -y libtool-ltdl.x86_64
yum install -y libmcrypt mhash
yum install -y libiconv mcrypt lua-devel
yum install -y  pcre-devel openssl-devel freetype-devel libcurl-devel readline-devel curl wget

 

下面是原版安装指令,无法直接安装的(用于比照)

查看代码
 yum install -y make cmake gcc gcc-c++ autoconf automake
yum install -y libpng-devel libjpeg-devel zlib libxml2-devel ncurses-devel bison
yum install -y libtool-ltdl-devel
yum install -y libiconv libmcrypt mhash mcrypt lua-devel
yum install -y  pcre-devel openssl-devel freetype-devel libcurl-devel readline-devel curl wget

 

2. 下载最新源码

在root文件夹下创建

【mkdir mydevelop】 用来安装软件

【mkdir mydownload】 用来下载软件 

cd /root/mydownload
wget https://openresty.org/download/openresty-1.21.4.1.tar.gz
tar -zxvf openresty-1.21.4.1.tar.gz # 解压openresty

 

 3. 下载缓存插件 (这里是为了演示插件的安装模式)   【可以省略这一步】

cd /root/mydownload/
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是安装第三方模块

  进入解压后的目录下 【cd  /root/mydownload/openresty-1.21.4.1】 

ps: 这里使用 \ 符号,进行指令的换行

--prefix=/root/mydevelop/openresty   表示安装路径

--add-module=/root/mydownload/ngx_cache_purge-2.3   表示:配置缓存插件的源码路径

./configure --prefix=/root/mydevelop/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=/root/mydownload/ngx_cache_purge-2.3 #配置缓存插件的源码路径

 如果不安装常见,那么直接编译即可 

./configure --prefix=/root/mydevelop/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

下图表示编译成功

5. 安装openresty

cd /root/mydownload/openresty-1.21.4.1
gmake && gmake install

如下图,表示安装成功

我们再进入安装后的目录看一下

【cd /root/mydevelop/openresty 】

 

6 . 配置环境变量

   修改 /etc/profile  ,再最后一行加入    export PATH=$PATH:/root/mydevelop/openresty/nginx/sbin

 

然后运行指令,【source /etc/profile】,生效环境变量

7. 查看是否配置成功

   查看版本号:【nginx -v】

   查看安装的插件:【nginx -V】 

 

四. 实操测试

(基于上面源代码编译模式安装的模式进行测试)

 

1. 修改配置文件

 进入 【cd /root/mydevelop/openresty/nginx/conf】,修改nginx.conf文件


user  root;
worker_processes  2;
error_log  logs/error.log  info;
events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        charset   utf-8;
	   location /{
	        default_type text/html;
	        content_by_lua '
	            ngx.say("<p>Hello, World!</p>")
	            ';
	    }
    }

}

 

2. 启动openresty

【nginx -c /root/mydevelop/openresty/nginx/conf/nginx.conf】 

 

3. 运行

 

 

 

 

!

  • 作       者 : Yaopengfei(姚鹏飞)
  • 博客地址 : http://www.cnblogs.com/yaopengfei/
  • 声     明1 : 如有错误,欢迎讨论,请勿谩骂^_^。
  • 声     明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。
 
posted @ 2023-07-12 10:01  Yaopengfei  阅读(1002)  评论(1编辑  收藏  举报