在 Ubuntu 20.04 上透過 apt-get 安裝 OpenResty
今天我想演示一下如何透過 apt-get
在 Ubuntu 20.04 上安裝 OpenResty 。
我們將在這個影片中使用這個全新安裝的 Ubuntu 20.04 。
我們可以到 openresty.org 網站上找到相關的說明,這裡可以找到所有啟用 APT 倉庫和安裝 OpenResty Deb 包的命令。
回到我們的 Ubuntu 20.04 系統。如果你已經有服務監聽本地 80 埠,那麼你應該先禁用它。
sudo lsof -i:80
在這裡,我們沒有任何這樣的服務。
首先,要確保系統時間正確。
sudo ntpdate -v time.google.com
你可能想在這裡使用你附近的其他 NTP 伺服器。
我們應該透過新增 GPG 公鑰來安裝一些需要的元件。這些可以在之後刪除。
sudo apt-get -y install --no-install-recommends wget gnupg ca-certificates
然後匯入我們的 GPG 金鑰。
wget -O - https://openresty.org/package/pubkey.gpg | sudo apt-key add -
接著新增我們的官方 APT 庫。
echo "deb http://openresty.org/package/ubuntu $(lsb_release -sc) main" > openresty.list
sudo cp openresty.list /etc/apt/sources.list.d/
請注意,這是針對 x86_64
或 amd64
系統的。
對於 Aarch64 或 ARM64 系統,你應該使用這個 URL 來代替。
echo "deb http://openresty.org/package/arm64/ubuntu $(lsb_release -sc) main"
現在更新 APT 索引。
sudo apt-get update
請注意,這裡我們需要 sudo
。
現在是時候安裝我們的主要 RPM 包,openresty
。
sudo apt-get -y install --no-install-recommends openresty
檢查 openresty
可執行檔案是否可用。
which openresty
這個 openresty
可執行檔案只是一個符號連結。
file `which openresty`
並檢查其版本。
openresty -V
我們可以像這樣啟動預設的 openresty 服務。
sudo systemctl start openresty
檢查 nginx 程序是否啟動並執行。
ps aux|grep nginx
完美。
用 curl
命令測試預設主頁。
curl 127.0.0.1/
是的,它的工作。
但請注意,resty 命令列工具還沒有安裝。
which resty
如果你想要它,那麼你可以從同一個倉庫安裝 openresty-resty
RPM 包。
sudo apt-get -y install openresty-resty
現在應該可以了。
which resty
resty -e 'print("Hello Resty")'
同樣,如果你想使用 restydoc
命令列工具,你應該安裝 openresty-doc
包。
sudo apt-get -y install openresty-restydoc
現在也有了。
restydoc -s content_by_lua_file
我們也可以安裝 OPM 來安裝更多由 OpenResty 社群貢獻的 Lua 模組。
sudo apt-get -y install openresty-opm
現在可以嘗試安裝 James Hurst 編寫的 lua-resty-http
庫。
sudo opm get pintsized/lua-resty-http
試著用 resty
工具載入它。
resty -e 'require "resty.http"'
成功了!
還有一個 OpenResty 的除錯構建,其中包括除錯日誌和所有啟用的內部斷言。
sudo apt-get -y install openresty-debug
我們可以這樣呼叫這個除錯版的 openresty 。
which openresty-debug
這個 openresty-debug
可執行檔案也是一個符號連結。
file `which openresty-debug`
我們不應該在生產中使用它,因為它比發行版慢得多。
此外,還有可以透過 Valgrind 檢查記憶體問題的特殊構建。
sudo apt list openresty-valgrind
當你有記憶體問題要除錯時,可以試試這些。我們可能會在以後的教程中涉及這些內容。
要將 OpenResty 包升級到最新版本,只需執行這些命令。
sudo apt-get update
sudo apt-get --only-upgrade -y install 'openresty*'
檢查我們 openresty 倉庫中所有可用的軟體包。
apt list 'openresty*' | less
這裡有很多二進位制包。
可以在網頁上找到所有這些 Deb 包的詳細文件,https://openresty.org/en/deb-packages.html ,有很多軟體包供使用者選擇。
今天我就講這麼多。祝大家玩得開心!
如果你喜歡這個教程,請訂閱這個部落格網站和我們的 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、LuaJIT、GDB、SystemTap、LLVM、Perl 等,並編寫過 60 多個開源軟體庫。
關注我們
如果您喜歡本文,歡迎關注我們 OpenResty Inc. 公司的部落格網站 。也歡迎掃碼關注我們的微信公眾號:
翻譯
我們提供了英文版原文和中譯版(本文) 。我們也歡迎讀者提供其他語言的翻譯版本,只要是全文翻譯不帶省略,我們都將會考慮採用,非常感謝!