用更轻量的Caddy快速部署php动、静态网站
Caddy 是一个现代、高性能、自动 HTTPS 的 Web 服务器,比 Nginx 更简单,特别适合快速部署 PHP 网站。
这是一个一步到位的自动化脚本,包括:
安装 Caddy(来自官方仓库)
安装 PHP-FPM 及扩展
创建网站目录
配置 Caddy 支持 PHP
可自动启用 HTTPS(如果绑定域名)
一、在 Debian 11 上用 Caddy + PHP 快速部署动态 PHP 或静态html网站
1、更新系统
sudo apt update && sudo apt upgrade -y
2、安装 PHP 和常用扩展
sudo apt install -y php php-fpm php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip unzip
3、安装 Caddy
a、必要的软件包1
sudo apt install -y debian-keyring debian-archive-keyring curl
必要的软件包2
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
b、Caddy的安全密钥
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
c、下载 Caddy密钥文件
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
d、更新软件包列表
sudo apt update
e、升级或安装Caddy2
sudo apt install -y caddy
4、创建网站目录,并上传静态html或动态php文件【网站文件在 home/html/web/】
网站1
sudo mkdir -p /home/html/web/web1
sudo chown -R www-data:www-data /home/html/web/web1
网站2
sudo mkdir -p /home/html/web/web2
sudo chown -R www-data:www-data /home/html/web/web2
网站3
sudo mkdir -p /home/html/web/web3
sudo chown -R www-data:www-data /home/html/web/web3
网站4
sudo mkdir -p /home/html/web/web4
sudo chown -R www-data:www-data /home/html/web/web4
网站5
sudo mkdir -p /home/html/web/web5
sudo chown -R www-data:www-data /home/html/web/web5
网站6
sudo mkdir -p /home/html/web/web6
sudo chown -R www-data:www-data /home/html/web/web6
可以类似的创建更多网站
5、配置 Caddy 支持 PHP【以两个网站为例,多个网站类似配置,可以不开cf小黃云】
example1.com {
root * /home/html/web/web1 #安装路径,备注什么网站
php_fastcgi unix//run/php/php-fpm.sock
file_server
}
example2.com {
root * /home/html/web/web2 #安装路径,备注什么网站
php_fastcgi unix//run/php/php-fpm.sock
file_server
}
example3.com {
reverse_proxy 127.0.0.1:8880 #这里输入你想反代的服务器IP和端口
encode gzip
}
example4.com {
redir https://naiyous.com{uri} #这里输入你想设置的重定向
}
6、启动并启用 Caddy.
sudo systemctl enable php*-fpm
sudo systemctl restart php*-fpm
sudo systemctl restart caddy
7、开机自启
systemctl enable caddy
重启Caddy2
systemctl restart caddy
8、停止Caddy2
systemctl stop caddy
二、【不用数据库可不安装,比如 WordPress、Typecho要用到】Debian 11 默认的软件源中没有 mysql-server 包,或者没有启用适当的源。Debian 通常推荐使用 MariaDB 替代 MySQL
1、 使用 MariaDB(兼容 MySQL)
sudo apt update
sudo apt install -y mariadb-server
sudo systemctl enable mariadb
sudo systemctl start mariadb
设置 root 密码
sudo mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'rootpass123'; FLUSH PRIVILEGES;"
2、登录 MariaDB:
sudo mysql -u root -p
# 然后输入密码:rootpass123
3、创建数据库:
CREATE DATABASE mydb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
你也可以:
CREATE DATABASE mysite;
4、给 root 用户授权(MariaDB 默认 root 用户已拥有所有权限)
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
5、示例配置(适用于 WordPress/phpMyAdmin 等)
配置项 值
数据库名 mydb
数据库用户名 root(或 myuser)
数据库密码 rootpass123(或 mypassword)
数据库主机 localhost
6、如何在安装程序中填写(例如 WordPress/phpMyAdmin)
数据库名:mydb
数据库用户名:root
数据库密码:rootpass123
数据库主机:localhost
表前缀:wp_ (或保留默认)
一键部署脚本(保存为 setup_caddy_php.sh)
#!/bin/bash
set -e
green() { echo -e "\033[32m$1\033[0m"; }
green "▶ 更新系统..."
sudo apt update && sudo apt upgrade -y
green "▶ 安装 PHP 和常用扩展..."
sudo apt install -y php php-fpm php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip unzip
green "▶ 安装 Caddy..."
sudo apt install -y debian-keyring debian-archive-keyring 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 -y caddy
green "▶ 创建网站目录..."
sudo mkdir -p /var/www/html/mysite
sudo chown -R www-data:www-data /var/www/html/mysite
green "▶ 写入 PHP 测试页..."
cat <<EOF | sudo tee /var/www/html/mysite/index.php
<?php
phpinfo();
?>
EOF
green "▶ 配置 Caddy 支持 PHP..."
cat <<EOF | sudo tee /etc/caddy/Caddyfile
:80 {
root * /var/www/html/mysite
php_fastcgi unix//run/php/php-fpm.sock
file_server
}
EOF
green "▶ 启动并启用 Caddy..."
sudo systemctl enable php*-fpm
sudo systemctl restart php*-fpm
sudo systemctl restart caddy
green "✅ 成功部署!请访问 http://你的-VPS-IP 查看 PHP 测试页。"
二、使用方法
步骤 1:上传并运行脚本
nano setup_caddy_php.sh
# 粘贴脚本内容
chmod +x setup_caddy_php.sh
./setup_caddy_php.sh
或一键命令
bash <(curl -fsSL https://raw.githubusercontent.com/wszx123/gongjuxiang/refs/heads/main/setup_caddy_php.sh)
或
bash <(wget -qO- https://raw.githubusercontent.com/wszx123/gongjuxiang/refs/heads/main/setup_caddy_php.sh)
三、使用域名 + 自动 HTTPS(可选)
如果你有域名(如 example.com)指向 VPS:
编辑 /etc/caddy/Caddyfile 为:
example.com {
root * /var/www/html/mysite
php_fastcgi unix//run/php/php-fpm.sock
file_server
}
重启caddy
sudo systemctl reload caddy
Caddy 会自动申请并配置 Let's Encrypt 证书(HTTPS)。
四、总结
组件 | 说明 |
---|---|
Caddy | 替代 Nginx,自动 HTTPS,配置更简单 |
PHP-FPM | 处理 PHP 动态请求 |
运行目录 | /var/www/html/mysite/ |
配置文件 | /etc/caddy/Caddyfile |
评论 (0)