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
退出数据库命令,随便一个都行
quit; #退出

留言板