瞭解 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. 公司的部落格網站 。也歡迎掃碼關注我們的微信公眾號:

我們的微信公眾號

翻譯

我們提供了英文版原文和中譯版(本文) 。我們也歡迎讀者提供其他語言的翻譯版本,只要是全文翻譯不帶省略,我們都將會考慮採用,非常感謝!