第一节: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 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。