[置顶]★★★用更轻量的 Caddy + PHP 快速部署 动、静态网站

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; #退出

留言板

  • 正在加载留言...