Loading... **用更轻量的Caddy快速部署php动、静态网站** Caddy 是一个现代、高性能、自动 HTTPS 的 Web 服务器,比 Nginx 更简单,特别适合快速部署 PHP 网站。 这是一个一步到位的自动化脚本,包括: 安装 Caddy(来自官方仓库) 安装 PHP-FPM 及扩展 创建网站目录 配置 Caddy 支持 PHP 可自动启用 HTTPS(如果绑定域名) {dotted startColor="#ff6c6c" endColor="#1989fa"/} 一、在 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 ``` {dotted startColor="#ff6c6c" endColor="#1989fa"/} 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 ``` {dotted startColor="#ff6c6c" endColor="#1989fa"/} 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 ``` {dotted startColor="#f70808" endColor="#f818fb"/} 二、【不用数据库可不安装,比如 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 密码【一定要修改默认的rootpass123为强密码,至少18位英文、数字加字符】 ``` 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),安装时根据提示进行 数据库主机:localhost 表前缀:wp_ (或保留默认) 数据库用户名: *root* 数据库名: *mydb* 数据库密码: *rootpass123* {dotted startColor="#ff6c6c" endColor="#1989fa"/} 一键部署脚本(保存为 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` | 最后修改:2025 年 06 月 07 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏