Loading... **★★★用更轻量的 Caddy + PHP 快速部署 动、静态网站** 现在已集成到一键工具箱中了,进入后选11,支持Debian11、12和UBT等系统 ``` wget https://raw.githubusercontent.com/wszx123/gongjuxiang/refs/heads/main/toolbox.sh -O toolbox.sh && chmod +x toolbox.sh && ./toolbox.sh ``` Caddy 是一个现代、高性能、自动 HTTPS 的 Web 服务器,比 Nginx 更简单,特别适合快速部署 PHP 网站。 这是一个一步到位的自动化建站脚本,包括: 安装 Caddy(来自官方仓库) 安装 PHP-FPM 及扩展 创建网站目录 配置 Caddy 支持 PHP 可自动启用 HTTPS(如果绑定域名) ------------ 一、在 Debian 11 上用 Caddy + PHP 快速部署动态 PHP 或静态html网站【6个步骤】 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 sudo chmod -R 755 /home/html/web/web1 ``` 网站2 ``` sudo mkdir -p /home/html/web/web2 sudo chown -R www-data:www-data /home/html/web/web2 sudo chmod -R 755 /home/html/web/web2 ``` 网站3 ``` sudo mkdir -p /home/html/web/web3 sudo chown -R www-data:www-data /home/html/web/web3 sudo chmod -R 755 /home/html/web/web3 ``` 网站4 ``` sudo mkdir -p /home/html/web/web4 sudo chown -R www-data:www-data /home/html/web/web4 sudo chmod -R 755 /home/html/web/web4 ``` 网站5 ``` sudo mkdir -p /home/html/web/web5 sudo chown -R www-data:www-data /home/html/web/web5 sudo chmod -R 755 /home/html/web/web5 ``` 网站6 ``` sudo mkdir -p /home/html/web/web6 sudo chown -R www-data:www-data /home/html/web/web6 sudo chmod -R 755 /home/html/web/web6 ``` 可以类似的创建更多网站 5、配置 Caddy 支持 PHP【以两个网站为例,多个网站类似配置,安装时不开cf小黃云。安装完后,不使用代理时不打开小黄云,使用 ** CF 代理** 时打开小黄云, *SSL/TLS证书必须设置为完全或完全(严格)* ,否则网站打不开】 ``` 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 } http://[v6 ip]:端口 { root * /home/html/web/web3 #使用v6的 IP+端口 访问,v6 的 ip 必须放在[]中 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、启动并启用 php*-fpm和Caddy,并设置开机自启【后面7、8、9一般不用】,大功告成。 ``` sudo systemctl enable php*-fpm sudo systemctl restart php*-fpm sudo systemctl enable caddy sudo systemctl restart caddy ``` 7、开启防火墙 ipv4或IPv6 端口(如果启用 UFW,例如要开启8080端口) ``` sudo ufw allow 8080/tcp sudo ufw reload ``` 8、开机自启 ``` systemctl enable caddy ``` 重启Caddy2 ``` systemctl restart caddy ``` 9、停止Caddy2 ``` systemctl stop caddy ``` ------------ 二、【不用数据库可不安装,比如 WordPress、Typecho要用到】Debian 11 默认的软件源中没有 mysql-server 包,或者没有启用适当的源。Debian 通常推荐使用 MariaDB 替代 MySQL A、**使用 MariaDB(兼容 MySQL)** 1、 升级等 ``` 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* B、**Oracle 官方源安装了 MySQL Server 8.0** ,和上面的MariaDB(兼容 MySQL)一样 1、升级等 ``` sudo apt update sudo apt install -y wget lsb-release gnupg ``` 2、下载官方源配置包 ``` # 下载官方源配置包 wget https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb ``` 3、安装该配置包【安装过程中要设置的 root 密码,记好,后面用到】 ``` # 安装该配置包 sudo dpkg -i mysql-apt-config_0.8.29-1_all.deb ``` 4、在弹出的菜单中,默认选中 MySQL 8.0,按回车确认 5、再更新软件源 ``` # 再更新软件源 sudo apt update ``` 6、安装 MySQL Server ``` # 安装 MySQL Server sudo apt install -y mysql-server ``` 7、登录 MySQL,然后输入你在安装时设置的 root 密码。 ``` sudo mysql -u root -p ``` 8、创建数据库,mydb 是你的网站或程序要使用的数据库名,可以根据需要修改。 ``` CREATE DATABASE mydb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ``` 9、创建独立的数据库用户并授权 ``` CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword'; GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost'; FLUSH PRIVILEGES; ``` myuser 是你新建的数据库用户名 mypassword 是你设置的密码 localhost 表示只允许本地连接数据库 10、(可选):查看创建情况 ``` SHOW DATABASES; SELECT user, host FROM mysql.user; SHOW GRANTS FOR 'myuser'@'localhost'; ``` 数据库名 mydb 数据库用户名 myuser 密码 mypassword 主机 localhost 11、退出命令,随便一个都行 ``` exit; #退出 ``` ``` quit; #退出 ``` ------------ 一键部署脚本(保存为 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 年 08 月 20 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏