使用 Caddy 在 linux 上搭建网站的教程
Caddy 是一个强大的自动 HTTPS Web 服务器,它简单易用,非常适合快速搭建网站。以下步骤将指导你如何在 Ubuntu 上安装和使用 Caddy 来搭建一个网站。
步骤 1:更新系统并安装必要的工具
在开始之前,确保你的 Ubuntu 系统已更新,并安装一些基础工具。
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget unzip
步骤 2:安装 Caddy
Caddy 的官方安装方式是通过其提供的脚本进行。
- 使用官方安装脚本: 执行下面的命令下载并安装 Caddy:
Debian, Ubuntu, Raspbian
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
Fedora, RedHat, CentOS
Fedora or RHEL/CentOS 8:
dnf install 'dnf-command(copr)'
dnf copr enable @caddy/caddy
dnf install caddy
RHEL/CentOS 7:
yum install yum-plugin-copr
yum copr enable @caddy/caddy
yum install caddy
-
验证安装: 安装完成后,运行以下命令确认 Caddy 已正确安装:
caddy version
如果安装成功,你会看到 Caddy 的版本号输出。
步骤 3:配置 Caddy
Caddy 的配置文件默认位于 /etc/caddy/Caddyfile
。你可以通过修改这个文件来定义你的网站。
-
编辑 Caddyfile:
打开 Caddyfile:
sudo nano /etc/caddy/Caddyfile
-
配置基本的网站托管:
一个简单的 Caddy 配置示例如下:example.com { root * /var/www/html file_server }
example.com
替换成你的实际域名;root * /var/www/html
表示你的网站文件存储在/var/www/html
路径;file_server
表示启用静态文件服务器。
如果你还没有域名,也可以用
localhost
或IP地址
代替example.com
。 -
保存并退出: 按
Ctrl+O
保存,Ctrl+X
退出。
步骤 4:准备网站文件
-
创建一个存放 HTML 文件的目录:
sudo mkdir -p /var/www/html
-
添加一个简单的
index.html
文件来测试:echo "<h1>Hello, Caddy!</h1>" | sudo tee /var/www/html/index.html
步骤 5:启动和管理 Caddy 服务
-
启动 Caddy:
sudo systemctl start caddy
-
设置 Caddy 开机自启:
sudo systemctl enable caddy
-
检查服务状态:
sudo systemctl status caddy
如果显示
active (running)
,说明 Caddy 已正常启动。 -
遇到问题 可以这样启动
caddy start
caddy reload
步骤 6:访问网站
-
在浏览器中访问你的域名(确保域名已解析到服务器的 IP 地址)。
如果你使用了 IP 地址或localhost
,直接输入http://IP地址
(如http://127.0.0.1
)。 -
如果你配置了域名,并且域名解析正常,Caddy 会自动为你申请并启用 HTTPS。你可以直接访问
https://你的域名
。
其它配置:Caddy 配置示例
1. 反向代理:
如果你需要使用 Caddy 作为反向代理,可以将 Caddyfile 修改为以下内容:
example.com {
reverse_proxy 127.0.0.1:3000
}
这会将流量从 example.com
转发到本地运行在端口 3000
的应用(如 Node.js 或 Python 等)。
2. 启用 HTTP -> HTTPS 重定向:
Caddy 会默认启用 HTTP 到 HTTPS 的自动重定向功能,因此你无需手动配置。
3. 指定端口:
如果想让网站监听在特定端口(如 8080)而不是默认的 80/443,可以修改 Caddyfile:
:8080 {
root * /var/www/html
file_server
}
然后访问 http://IP地址:8080
。
维护和日志查看
-
查看 Caddy 日志:
sudo journalctl -u caddy -f
-
重启服务(应用配置修改):
每次更改 Caddyfile 后,重启服务以应用更改:
sudo systemctl reload caddy
总结
通过以上步骤,你已经在 Linux 上成功使用 Caddy 搭建了一个简单的网站。Caddy 提供自动 HTTPS 功能,以及简洁的配置,适合快速搭建网站或用作反向代理。如果有进一步问题,请随时联系我!
最后修改于 2025-02-08