了解 OpenResty XRay 是如何做到帮助企业定位应用程序存在的问题以及优化其效率的。

了解更多 LIVE DEMO

本教程将演示如何通过 dnf 在 CentOS 8 上安装OpenResty。

截图 1

我们将在本教程中使用这个全新安装的CentOS 8。

我们可以随时上 openresty.org 网站查找说明。

截图

然后点击左侧栏的安装链接。

截图

并点击 “二进制包” 栏目下的 “官方预建包” 链接。

截图

正如我们在这里看到的,我们确实支持很多不同的 Linux 发行版。

截图

向下滚动到 CentOS 部分。

截图

我们可以找到所有启用 yum 仓库和安装 OpenResty RPM 包的命令。

回到我们的 CentOS 8 系统,首先安装标准的 wget 包,如果你还没有的话。

sudo dnf -y install wget

截图 4

使用 wget 从我们的网站下载 openresty.repo 文件。

wget 'https://openresty.org/package/centos/openresty.repo'

截图 5

我们把这个文件移到 yum 仓库的配置目录中。

sudo mv openresty.repo /etc/yum.repos.d/

截图 6

请注意,这里我们需要sudo

我们更新 yum 索引数据库。

sudo dnf check-update

截图 8

现在是时候安装我们的主 RPM 包,openresty

sudo dnf -y install openresty

截图 9

检查 openresty 可执行文件是否可用。

which openresty

截图 10

这个 openresty 可执行文件只是一个符号链接。

file `which openresty`

截图 11

并检查其版本。

openresty -V

截图 12

我们可以像这样启动默认的 openresty 服务器。

sudo systemctl start openresty

截图 13

检查 nginx 进程是否启动并运行。

ps aux|grep nginx

截图 14

完美。

用"curl"命令测试默认主页。

curl 127.0.0.1/

截图 16

好极了,它可以工作。

但请注意,“resty “命令行工具还没有安装。

which resty

截图 18

如果你想要它,那么你可以从同一个仓库安装openresty-restyRPM包。

sudo dnf -y install openresty-resty

截图 19

现在应该可以了。

which resty
resty -e 'print("Hello Resty")'

截图 20

同样,如果你想使用 restydoc 命令行工具,你应该安装 openresty-doc 包。

sudo dnf -y install openresty-doc

截图 21

现在也有了。试试吧!

restydoc -s content_by_lua_file

我们也可以安装 OPM 来安装更多由 OpenResty 社区贡献的 Lua 模块。

sudo dnf -y install openresty-opm

截图 23

我们可以尝试安装 James Hurst 编写的 lua-resty-http 库。

sudo opm get pintsized/lua-resty-http

截图 24

试着用"resty"工具加载它。

resty -e 'require "resty.http"'

截图 25

成功了!

还有一个 OpenResty 的调试构建,其中包括调试日志和所有启用的内部断言。

sudo dnf -y install openresty-debug

截图 27

我们可以这样调用这个调试版的openresty。

which openresty-debug

截图 28

这个 openresty-debug 可执行文件也是一个符号链接。

file `which openresty-debug`

截图 29

我们不应该在生产中使用它,因为它比发行版慢得多。

此外,还有通过 Valgrind 和 Address Sanitizer 检查内存问题的特殊构建。

sudo dnf list openresty-valgrind openresty-asan

截图 31

当你有内存问题要调试时,可以试试这些。我们可能会在以后的教程中涉及这些内容。

要将 OpenResty 包升级到最新版本,只需运行这些命令。

sudo dnf check-update
sudo dnf upgrade 'openresty*'

截图 33

检查我们 openresty 仓库中所有可用的软件包。

dnf --disablerepo='*' --enablerepo="openresty" list available

截图 34

我们这里有很多包裹。

我们可以在网页 openresty.org/en/rpm-packages.html 上找到所有这些 RPM 包的详细文档。

截图

我们确实有很多安装包供用户选择。

截图

今天我就讲这么多。祝大家玩得开心! 如果你喜欢这个教程,请订阅这个博客网站和我们的 YouTube 频道B 站频道。谢谢!

关于本文和关联视频

本文和相关联的视频都是完全由我们的 OpenResty Showman 产品从一个简单的剧本文件自动生成的。

关于作者

章亦春是开源 OpenResty® 项目创始人兼 OpenResty Inc. 公司 CEO 和创始人。

章亦春(Github ID: agentzh),生于中国江苏,现定居美国湾区。他是中国早期开源技术和文化的倡导者和领军人物,曾供职于多家国际知名的高科技企业,如 Cloudflare、雅虎、阿里巴巴, 是 “边缘计算“、”动态追踪 “和 “机器编程 “的先驱,拥有超过 22 年的编程及 16 年的开源经验。作为拥有超过 4000 万全球域名用户的开源项目的领导者。他基于其 OpenResty® 开源项目打造的高科技企业 OpenResty Inc. 位于美国硅谷中心。其主打的两个产品 OpenResty XRay(利用动态追踪技术的非侵入式的故障剖析和排除工具)和 OpenResty Edge(最适合微服务和分布式流量的全能型网关软件),广受全球众多上市及大型企业青睐。在 OpenResty 以外,章亦春为多个开源项目贡献了累计超过百万行代码,其中包括,Linux 内核、Nginx、LuaJITGDBSystemTapLLVM、Perl 等,并编写过 60 多个开源软件库。

关注我们

如果您喜欢本文,欢迎关注我们 OpenResty Inc. 公司的博客网站 。也欢迎扫码关注我们的微信公众号:

我们的微信公众号

翻译

我们提供了英文版原文和中译版(本文) 。我们也欢迎读者提供其他语言的翻译版本,只要是全文翻译不带省略,我们都将会考虑采用,非常感谢!