從 Windows 遷移到 Ubuntu 終極指南
Caddy 是一個功能強大的開源 Web 服務(wù)器,用 Go 編寫,可用于在生產(chǎn)環(huán)境中托管 Web 應(yīng)用程序。Caddy 具有內(nèi)置的自動 TLS 證書更新、OSCP 裝訂、靜態(tài)文件服務(wù)、反向代理、Kubernetes 入口等等。Caddy 可以作為獨立的 Web 服務(wù)器、應(yīng)用服務(wù)器甚至在容器中運行。
在本教程中,我將引導(dǎo)您完成在 Ubuntu Server 22.04 上安裝 Caddy 的步驟,以及如何創(chuàng)建一個簡單的靜態(tài)站點。
你需要什么
要啟動并運行 Caddy,您需要一個 Ubuntu Server 22.04 實例和一個具有 sudo 權(quán)限的用戶。準(zhǔn)備好這兩件事后,就可以開始安裝了。
如何安裝 Caddy
登錄到您的 Ubuntu Server 實例并添加必要的依賴項:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https -y
linuxmi@linuxmi:~/www.linuxmi.com$ curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
使用以下命令創(chuàng)建存儲庫文件:
linuxmi@linuxmi:~/www.linuxmi.com$ curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
更新apt:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt update
最后,使用以下命令安裝 Caddy:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install caddy -y
使用以下命令啟動并啟用 Caddy 服務(wù):
linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl enable --now caddy
您現(xiàn)在應(yīng)該能夠?qū)g覽器指向 http://SERVER(??SERVER?
?托管服務(wù)器的 IP 地址或域名)并看到默認的 Caddy 歡迎頁面(圖 1)。
圖1:Ubuntu Server 22.04 上的 Caddy 歡迎頁面由。
如何創(chuàng)建您的第一個 Caddy 站點
開箱即用的 Caddy 文檔根目錄是 /usr/share/caddy,但我們希望將其更改為更標(biāo)準(zhǔn)的目錄。在我們配置 Caddy 之前,使用以下命令創(chuàng)建新的文檔根目錄:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo mkdir -p /var/ww/html
接下來,讓我們創(chuàng)建一個基本的靜態(tài)站點文件:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo nano /var/www/html/index.hml
在該文件中,粘貼以下內(nèi)容:
<html>
<head>
<title>Hello, Linux迷 www.linuxmi.com</title>
</head>
<body>
<h1 style="font-family: sans-serif">Hello, Linux迷 www.linuxmi.com, 來自 Caddy Web 服務(wù)器!</h1>
</body>
</html>
保存并關(guān)閉文件。
使用以下命令打開 Caddy 配置文件:
sudo nano /etc/caddy/Caddyfile
在該文件的頂部附近,你會發(fā)現(xiàn)以下部分:
root * /usr/share/caddy
更改為
root * /var/www/html
保存并關(guān)閉文件。
使用以下命令重新加載 Caddy 配置:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl reload caddy
將您的 Web 瀏覽器指向 http://SERVER(??SERVER?
?托管服務(wù)器的 IP 地址或域名),您應(yīng)該會看到我們的新歡迎消息(圖 2)
圖2:我們新的 Caddy 歡迎頁面向。
Caddy 為靜態(tài)網(wǎng)站準(zhǔn)備了另一個有趣的技巧。讓我們創(chuàng)建另一個頁面,該頁面將打印出 Hello, TechRepublic 消息,然后使用 curl 將其上傳到 Caddy 服務(wù)器。
使用以下命令創(chuàng)建一個新文件:
linuxmi@linuxmi:~/www.linuxmi.com$ nano caddy.json
在該文件中,粘貼以下內(nèi)容:
{
"apps": {
"http": {
"servers": {
"example": {
"listen": [":2022"],
"routes": [
{
"handle": [{
"handler": "static_response",
"body": "Hello, LinuxMi www.linuxmi.com"
}]
}
]
}
}
}
}
}
保存并關(guān)閉文件。
使用以下命令將我們的 caddy.json 文件上傳到 Caddy 服務(wù)器:
linuxmi@linuxmi:~/www.linuxmi.com$ curl localhost:2019/load -X POST -H "Content-Type: application/json" -d @caddy.json
上傳應(yīng)該立即發(fā)生。完成后,將您的瀏覽器指向 http://SERVER:2022(??SERVER?
?您的托管服務(wù)器的 IP 地址或域名),您應(yīng)該會看到 Hello, LinuxMi www.linuxmi.com 信息(圖 3)。
圖3:我們的新靜態(tài)站點通過 curl 推送到服務(wù)器。
恭喜,您現(xiàn)在已經(jīng)啟動并運行了輕量級、閃電般快速的 Caddy Web 服務(wù)器。稍后我們將返回到這一點,以了解更多利用此平臺的方法。