用更轻量的Caddy快速部署php动、静态网站
侧边栏壁纸
  • 累计撰写 100 篇文章
  • 累计收到 56 条评论

用更轻量的Caddy快速部署php动、静态网站

wszx01
2025-06-05 / 0 评论 / 1 阅读

用更轻量的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

评论 (0)

取消