如何在 Linux 中建立您自己的 Caddy Web 伺服器

如何在 Linux 中建立您自己的 Caddy Web 伺服器
桌上有綠色背光的電腦顯示器的照片。

Caddy 是一個現代、易於使用的 Linux Web 伺服器。它的工作原理是簡化建立網站設定檔和 SSL 憑證的過程。本文將指導您完成在 Ubuntu Linux 伺服器上安裝 Caddy 的過程。此外,它還將向您展示如何使用 Caddy 部署簡單的網頁以及 SSL 反向代理。

為什麼要使用 Caddy 作為網路伺服器?

雖然NginxApache是​​功能強大的 Web 伺服器守護進程,但對於新用戶來說它們可能會顯得笨拙且複雜。 Caddy 透過提供「Caddyfile」來降低複雜性,這是一個具有簡單語法的平面文件,即使對於初學者來說也很容易學習。

顯示範例 Caddyfile 的終端。

Caddy 的另一個賣點是它開箱即用地為您的 Web 伺服器提供 HTTPS。這對於那些發現為網站設定 SSL令人畏懼且複雜的用戶來說非常方便。因此,如果您正在 Linux 中尋找一款「簡單」且易於維護和使用的 Web 伺服器,那麼 Caddy 是完美的選擇。

安裝球童

在 Ubuntu Linux 中安裝 Caddy 的第一步是確保您擁有導入其儲存庫金鑰和資訊的工具:

從開發人員的網站取得 Caddy 的儲存庫簽署金鑰:

下載 Caddy 專案的儲存庫檔案並將其儲存到電腦的「sources.list.d」目錄中:

透過執行以下命令重新載入系統的 apt 儲存庫:

使用以下命令為您的系統安裝 Caddy 軟體包apt install

運行您的第一個 Caddy 網站

要運行您的第一個網站,請在主目錄中建立網站的根資料夾:

使用您最喜歡的文字編輯器建立一個 index.html 檔案:

將以下程式碼區塊貼到新的 HTML 檔案中:

儲存您的index.html 文件,然後執行以下命令:

使用瀏覽器導航到您的網頁伺服器,確認它正常運作。

顯示在 localhost:8080 上執行的範例網站的螢幕截圖。

使用 Caddyfiles 建立網站

雖然 CLI 工具非常適合提供簡單的網頁,但 Caddy 也為更複雜的設定提供了易於使用的「Caddyfile」。首先,使用您最喜歡的文字編輯器在“/etc/caddy”下建立一個新的 Caddyfile:

將以下程式碼區塊貼到新的 Caddyfile 中:

將 index.html 檔案從主目錄複製到系統的“/var/www”:

前往您的 DNS 註冊商並確保您的根和 www 子網域具有指向您電腦的 IPv4 和 IPv6 位址的 A 或 AAAA 記錄。

顯示兩筆 A 記錄指向機器 IP 位址的螢幕截圖。

啟用機器上內建的 Caddy 服務:

透過導航到您的網域來檢查您的網站是否正常運作。

顯示使用外部網域名稱的範例網站的螢幕截圖。

使用 Caddy 建立 SSL 反向代理

就像 Nginx 和 Apache 一樣,您也可以使用 Caddy 作為電腦上內部服務的反向代理。為此,請開啟系統的 Caddyfile:

將以下程式碼區塊貼到您的 Caddyfile 中:

將“LOCAL-PORT”替換為您的 Web 應用程式的連接埠。就我而言,我將用 3001 替換我的,以將所有傳入流量重定向到我的Uptime Kuma 伺服器

顯示修改後的 Caddy 反向代理配置的終端。

儲存您的 Caddyfile,然後重新載入 Caddy 服務以套用您的新設定:

使用 Web 瀏覽器導覽至您的網域來測試您的反向代理是否正常運作。

顯示透過 Caddy 代理程式的 Uptime Kuma 實例的螢幕截圖。

使用 Caddy 部署多個網站和服務

您也可以使用相同的 Caddyfile 在同一主機下為網站和代理提供服務。這使得管理多個不同的服務變得容易,而不會弄亂網路伺服器的設定目錄。

首先,前往Caddy 的下載頁面,然後在搜尋欄上輸入「caddy-dns」。

反白 Caddy 下載頁面上的 caddy-dns 搜尋框的螢幕截圖。

尋找管理您網域的 DNS 提供者。就我而言,我使用的是DigitalOcean

選擇您的 DNS 供應商,然後按一下頁面右上角的「下載」。這將為您的 DNS 提供者下載帶有適當模組的自訂 Caddy 二進位。

為 DigitalOcean 選擇 caddy-dns 版本後反白顯示「下載」按鈕的螢幕截圖。

使用 systemctl 停止 Caddy 服務:

建立原始 Caddy 二進位檔案的備份,然後將自訂二進位檔案複製到「/usr/bin/」目錄。

透過檢查其版本來測試您的自訂 Caddy 二進位檔案是否正常運作:

為通配符域啟用 Caddy SSL

使用您最喜歡的文字編輯器開啟系統的 Caddyfile:

將以下程式碼區塊貼到您的 Caddyfile 中:

從您的 DNS 提供者取得 API 金鑰。在 DigitalOcean 中,您可以透過前往 DigitalOcean 儀表板,然後點擊頁面左側邊欄上的 API 來取得此資訊。

反白顯示 DigitalOcean 儀表板上的 API 按鈕的螢幕截圖。

按一下產生新令牌,然後提供 API 金鑰的詳細資訊。

顯示自動 SSL 通配符憑證的令牌詳細資訊的螢幕截圖。

複製您的 API 金鑰,然後將其貼到 Caddyfile 中的「API-KEY」變數上。

根據您的特定設定自訂 Caddyfile,然後儲存。

顯示修改後的多站點 Caddy 設定檔的終端。

確保您的網域具有適合您的網域和子網域的 A 和 AAAA 記錄。

重新啟動已停用的 Caddy 守護程式以套用新設定:

透過在網頁瀏覽器上開啟兩個網域來測試您的「多服務」設定是否正常運作。

顯示使用 Caddy 在 SSL 下運行的兩個服務的螢幕截圖。

學習如何使用 Caddy 部署簡單且安全的 Web 服務只是探索 Linux 自託管美妙世界的第一步。透過使用 SimpleLogin 建立您自己的電子郵件別名伺服器,深入了解這個世界。

圖片來源:Jonathan Ybema,來自 UnsplashWikimedia Commons。所有修改和螢幕截圖均由 Ramces Red 進行。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *