1.获取二进制文件
访问 Caddy 官方下载页面或 github 下载二进制文件
wget https://github.com/caddyserver/caddy/releases/download/v2.10.0/caddy_2.10.0_linux_amd64.tar.gz
2.解压二进制文件
tar -xf caddy_2.10.0_linux_amd64.tar.gz
3.安装到系统路径
mv caddy /usr/local/bin/
4.设置权限
chmod +x /usr/local/bin/caddy
5.查看版本
caddy version
6.创建系统用户和目录
groupadd --system caddy
useradd --system \
--gid caddy \
--create-home \
--home-dir /var/lib/caddy \
--shell /usr/sbin/nologin \
--comment "Caddy web server" \
caddy
7.创建配置文件目录并设置权限
mkdir /etc/caddy
chown -R root:caddy /etc/caddy
chmod 755 /etc/caddy
8.创建配置文件
cat > /etc/caddy/Caddyfile <<EOF
#http:// {
:80 {
# Set this path to your site's directory.
root * /var/lib/caddy
# Enable the static file server.
file_server browse
# Another common task is to set up a reverse proxy:
# reverse_proxy localhost:8080
# Or serve a PHP site through php-fpm:
# php_fastcgi localhost:9000
# Refer to the directive documentation for more options.
# https://caddyserver.com/docs/caddyfile/directives
}
# Import additional caddy config files in /etc/caddy/conf.d/
import /etc/caddy/conf.d/*
EOF
9.创建 systemd
服务文件
tee /etc/systemd/system/caddy.service <<EOF
[Unit]
Description=Caddy
Documentation=https://caddyserver.com/docs/
After=network.target network-online.target
Requires=network-online.target
[Service]
Type=notify
User=caddy
Group=caddy
ExecStart= /usr/local/bin/caddy run --environ --config /etc/caddy/Caddyfile
ExecReload= /usr/local/bin/caddy reload --config /etc/caddy/Caddyfile
TimeoutStopSec=5s
LimitNOFILE=1048576
LimitNPROC=512
PrivateTmp=true
ProtectSystem=full
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
[Install]
WantedBy=multi-user.target
EOF
10.启动服务
systemctl daemon-reload
systemctl enable caddy
systemctl start caddy
systemctl status caddy
10.配置防火墙
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload