從 Windows 遷移到 Ubuntu 終極指南
Caddy 是一個(gè)功能強(qiáng)大的開(kāi)源 Web 服務(wù)器,用 Go 編寫(xiě),可用于在生產(chǎn)環(huán)境中托管 Web 應(yīng)用程序。Caddy 具有內(nèi)置的自動(dòng) TLS 證書(shū)更新、OSCP 裝訂、靜態(tài)文件服務(wù)、反向代理、Kubernetes 入口等等。Caddy 可以作為獨(dú)立的 Web 服務(wù)器、應(yīng)用服務(wù)器甚至在容器中運(yùn)行。
在本教程中,我將引導(dǎo)您完成在 Ubuntu Server 22.04 上安裝 Caddy 的步驟,以及如何創(chuàng)建一個(gè)簡(jiǎn)單的靜態(tài)站點(diǎn)。
你需要什么
要啟動(dòng)并運(yùn)行 Caddy,您需要一個(gè) Ubuntu Server 22.04 實(shí)例和一個(gè)具有 sudo 權(quán)限的用戶(hù)。準(zhǔn)備好這兩件事后,就可以開(kāi)始安裝了。
如何安裝 Caddy
登錄到您的 Ubuntu Server 實(shí)例并添加必要的依賴(lài)項(xiàng):
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)建存儲(chǔ)庫(kù)文件:
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
使用以下命令啟動(dòng)并啟用 Caddy 服務(wù):
linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl enable --now caddy
您現(xiàn)在應(yīng)該能夠?qū)g覽器指向 http://SERVER(??SERVER?
?托管服務(wù)器的 IP 地址或域名)并看到默認(rèn)的 Caddy 歡迎頁(yè)面(圖 1)。
圖1:Ubuntu Server 22.04 上的 Caddy 歡迎頁(yè)面由。
如何創(chuàng)建您的第一個(gè) Caddy 站點(diǎn)
開(kāi)箱即用的 Caddy 文檔根目錄是 /usr/share/caddy,但我們希望將其更改為更標(biāo)準(zhǔn)的目錄。在我們配置 Caddy 之前,使用以下命令創(chuàng)建新的文檔根目錄:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo mkdir -p /var/ww/html
接下來(lái),讓我們創(chuàng)建一個(gè)基本的靜態(tài)站點(diǎn)文件:
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, 來(lái)自 Caddy Web 服務(wù)器!</h1>
</body>
</html>
保存并關(guān)閉文件。
使用以下命令打開(kāi) Caddy 配置文件:
sudo nano /etc/caddy/Caddyfile
在該文件的頂部附近,你會(huì)發(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)該會(huì)看到我們的新歡迎消息(圖 2)
圖2:我們新的 Caddy 歡迎頁(yè)面向。
Caddy 為靜態(tài)網(wǎng)站準(zhǔn)備了另一個(gè)有趣的技巧。讓我們創(chuàng)建另一個(gè)頁(yè)面,該頁(yè)面將打印出 Hello, TechRepublic 消息,然后使用 curl 將其上傳到 Caddy 服務(wù)器。
使用以下命令創(chuàng)建一個(gè)新文件:
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)該會(huì)看到 Hello, LinuxMi www.linuxmi.com 信息(圖 3)。
圖3:我們的新靜態(tài)站點(diǎn)通過(guò) curl 推送到服務(wù)器。
恭喜,您現(xiàn)在已經(jīng)啟動(dòng)并運(yùn)行了輕量級(jí)、閃電般快速的 Caddy Web 服務(wù)器。稍后我們將返回到這一點(diǎn),以了解更多利用此平臺(tái)的方法。