瞭解 OpenResty XRay 是如何做到幫助企業定位應用程式存在的問題以及最佳化其效率的。

瞭解更多 LIVE DEMO

今天我想演示一下如何透過 apt-get 在 Ubuntu 20.04 上安裝 OpenResty 。

截圖 1

我們將在這個影片中使用這個全新安裝的 Ubuntu 20.04 。

我們可以到 openresty.org 網站上找到相關的說明,這裡可以找到所有啟用 APT 倉庫和安裝 OpenResty Deb 包的命令。

截圖 3

回到我們的 Ubuntu 20.04 系統。如果你已經有服務監聽本地 80 埠,那麼你應該先禁用它。

sudo lsof -i:80

截圖 4

在這裡,我們沒有任何這樣的服務。

首先,要確保系統時間正確。

sudo ntpdate -v time.google.com

截圖 6

你可能想在這裡使用你附近的其他 NTP 伺服器。

我們應該透過新增 GPG 公鑰來安裝一些需要的元件。這些可以在之後刪除。

sudo apt-get -y install --no-install-recommends wget gnupg ca-certificates

截圖 8

然後匯入我們的 GPG 金鑰。

wget -O - https://openresty.org/package/pubkey.gpg | sudo apt-key add -

截圖 9

接著新增我們的官方 APT 庫。

echo "deb http://openresty.org/package/ubuntu $(lsb_release -sc) main" > openresty.list
sudo cp openresty.list /etc/apt/sources.list.d/

截圖 10

請注意,這是針對 x86_64amd64 系統的。

對於 Aarch64 或 ARM64 系統,你應該使用這個 URL 來代替。

echo "deb http://openresty.org/package/arm64/ubuntu $(lsb_release -sc) main"

截圖 12

現在更新 APT 索引。

sudo apt-get update

截圖 13

請注意,這裡我們需要 sudo

現在是時候安裝我們的主要 RPM 包,openresty

sudo apt-get -y install --no-install-recommends openresty

截圖 15

檢查 openresty 可執行檔案是否可用。

which openresty

截圖 16

這個 openresty 可執行檔案只是一個符號連結。

file `which openresty`

截圖 17

並檢查其版本。

openresty -V

截圖 18

我們可以像這樣啟動預設的 openresty 服務。

sudo systemctl start openresty

截圖 19

檢查 nginx 程序是否啟動並執行。

ps aux|grep nginx

截圖 20

完美。

curl 命令測試預設主頁。

curl 127.0.0.1/

截圖 22

是的,它的工作。

但請注意,resty 命令列工具還沒有安裝。

which resty

截圖 24

如果你想要它,那麼你可以從同一個倉庫安裝 openresty-resty RPM 包。

sudo apt-get -y install openresty-resty

截圖 25

現在應該可以了。

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

截圖 26

同樣,如果你想使用 restydoc 命令列工具,你應該安裝 openresty-doc 包。

sudo apt-get -y install openresty-restydoc

截圖 27

現在也有了。

restydoc -s content_by_lua_file

截圖 28

我們也可以安裝 OPM 來安裝更多由 OpenResty 社群貢獻的 Lua 模組。

sudo apt-get -y install openresty-opm

截圖 29

現在可以嘗試安裝 James Hurst 編寫的 lua-resty-http 庫。

sudo opm get pintsized/lua-resty-http

截圖 30

試著用 resty 工具載入它。

resty -e 'require "resty.http"'

截圖 31

成功了!

還有一個 OpenResty 的除錯構建,其中包括除錯日誌和所有啟用的內部斷言。

sudo apt-get -y install openresty-debug

截圖 33

我們可以這樣呼叫這個除錯版的 openresty 。

which openresty-debug

這個 openresty-debug 可執行檔案也是一個符號連結。

file `which openresty-debug`

截圖 35

我們不應該在生產中使用它,因為它比發行版慢得多。

此外,還有可以透過 Valgrind 檢查記憶體問題的特殊構建。

sudo apt list openresty-valgrind

截圖 37

當你有記憶體問題要除錯時,可以試試這些。我們可能會在以後的教程中涉及這些內容。

要將 OpenResty 包升級到最新版本,只需執行這些命令。

sudo apt-get update
sudo apt-get --only-upgrade -y install 'openresty*'

截圖 39

檢查我們 openresty 倉庫中所有可用的軟體包。

apt list 'openresty*' | less

截圖 40

這裡有很多二進位制包。

可以在網頁上找到所有這些 Deb 包的詳細文件,https://openresty.org/en/deb-packages.html ,有很多軟體包供使用者選擇。

截圖 42

今天我就講這麼多。祝大家玩得開心!

如果你喜歡這個教程,請訂閱這個部落格網站和我們的 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. 公司的部落格網站 。也歡迎掃碼關注我們的微信公眾號:

我們的微信公眾號

翻譯

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