• 欢迎来到本博客,希望可以y一起学习与分享

CentOS安装OpenResty(Nginx+Lua)开发环境

Nginx benz 来源:CentOS安装OpenResty(Nginx+Lua)开发环境 2年前 (2019-11-17) 35次浏览 0个评论 扫描二维码
文章目录[隐藏]

一.简介

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 等都进行一致的高性能响应。来自OpenResty®官网

总结和拓展:

  • OpenResty 是 Nginx 与 Lua 的结合;
  • OpenResty 是多进程模式,会有一个 master 进程和多个 worker 进程。Master 进程管理 worker 进程,向各 worker 进程发送信号,监控 work 进程状态;
  • OpenResty 是异步非阻塞 ;怎样理解阻塞非阻塞与同步异步的区别?知乎
  • 子查询:OpenResty 中有三种方式发起子请求:capture、exec、redirect;
  • OpenResty 缓存机制。

Nginx+Lua架构思维导图:

二.关闭SELinux

先临时关闭,然后永久关闭

三.防火墙开启80端口

先临时开启80端口,然后再永久开启

四.yum安装

对于一些常见的 Linux 发行版本,OpenResty® 提供 官方预编译包。确保你首先用这种方式来安装。

你可以在你的 CentOS 系统中添加 openresty 仓库,这样就可以便于未来安装或更新我们的软件包(通过 yum update 命令)。运行下面的命令就可以添加我们的仓库:

然后就可以像下面这样安装软件包,比如 openresty:

如果你想安装命令行工具 resty,那么可以像下面这样安装 openresty-resty 包:

命令行工具 opm 在 openresty-opm 包里,而 restydoc 工具在 openresty-doc 包里头。

列出所有 openresty 仓库里头的软件包:

参考 OpenResty RPM 包页面获取这些包更多的细节。

五.源码包编译安装

下载
从下载页 Download下载最新的 OpenResty® 源码包,并且像下面的示例一样将其解压:

安装前的准备
必须将这些库 perl 5.6.1+, libpcre, libssl安装在您的电脑之中。 对于 Linux来说, 您需要确认使用 ldconfig 命令,让其在您的系统环境路径中能找到它们。

推荐您使用yum安装以下的开发库:

安装

如果您的电脑支持多核 make 工作的特性, 您可以这样编译:

默认,,--prefix=/usr/local/openresty 程序会被安装到/usr/local/openresty目录。您可以指定各种选项,比如:

试着使用 ./configure --help 查看更多的选项。

六.配置

第一种常规配置方案

修改nginx.conf配置文件

添加环境变量

然后启动openresty,启动命令和nginx一致。

启动后查看一下服务

访问 Web 服务

如果一切正常,我们应该得到输出

重启 Web 服务

第二种lua配置方案

添加lua.conf配置文件

修改nginx.conf配置文件

添加环境变量

然后启动openresty,启动命令和nginx一致。

启动后查看一下服务

访问 Web 服务

如果一切正常,我们应该得到输出

配置lua代码文件

我们把lua代码放在nginx配置中会随着lua的代码的增加导致配置文件太长不好维护,因此我们应该把lua代码移到外部文件中存储。

在conf文件夹下创建lua文件夹,专门用来存放lua文件

创建test.lua文件

修改conf/lua.conf文件

关闭缓存后会看到如下报警(忽略不管)
nginx: [alert] lua_code_cache is off; this will hurt performance in /usr/local/openresty/nginx/conf/lua.conf:5
重启 Web 服务

七.测试性能

安装压力测试工具ab

压力测试

  • -c:每次并发数为10个
  • -n:共发送50000个请求

测试报详解

八.启动脚本

添加启动脚本

脚本内容如下

赋予执行权限

九.使用systemctl来管理openresty

十.参考资料

跟我学OpenResty(Nginx+Lua)开发目录贴


文章 CentOS安装OpenResty(Nginx+Lua)开发环境 转载需要注明出处
喜欢 (0)

您必须 登录 才能发表评论!