引言
大家好,今天我们要聊的主题是如何在 Ubuntu 上通过 Docker 部署 Caddy 和 PHP-FPM 服务器。Caddy 是一个现代化的 web 服务器,支持 HTTPS,配置简单;而 PHP-FPM 是 PHP 的 FastCGI 进程管理器,能够高效处理 PHP 请求。二者结合,简直是开发者的福音。
Docker、Caddy 和 PHP-FPM 简介
Docker 是一个开源的容器化平台,允许开发者轻松打包、分发和运行应用。通过 Docker,应用及其依赖关系被封装在一个独立的容器中,确保在任何环境下都能顺利运行。
Caddy 是一个强大的 web 服务器,自动为网站提供 HTTPS 支持,配置文件简单易懂,适合快速部署。PHP-FPM 则是优化 PHP 性能的重要工具,通过管理多个 PHP 进程,提高响应速度和并发处理能力。将这两者结合,能够快速搭建出高效、可靠的 web 应用环境。
实验环境配置
这次实验我使用的是阿贝云的免费服务器,配置为 1 核 CPU、1GB 内存和 5M 带宽。这个配置对于小型项目的测试是足够的。
部署步骤
下面是详细的部署步骤和命令:
1. 安装 Docker 和 Docker Compose
确保你的系统是最新的:
sudo apt update && sudo apt upgrade -y
安装 Docker:
sudo apt install -y docker.io
安装 Docker Compose:
sudo apt install -y docker-compose
2. 创建项目目录
mkdir -p ~/caddy-php
cd ~/caddy-php
3. 创建 docker-compose.yml
文件
在项目目录下创建 docker-compose.yml
文件,内容如下:
version: '3.7'
services:
caddy:
image: caddy:latest
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./site:/srv
networks:
- webnet
php:
image: php:8.0-fpm
volumes:
- ./site:/var/www/html
networks:
- webnet
networks:
webnet:
4. 创建 Caddyfile
在项目目录下创建 Caddyfile
,配置 Caddy 服务器:
your-domain.com {
root * /srv
php_fastcgi php:9000
file_server
log {
output stdout
format json
}
}
将 your-domain.com
替换为你的域名。
5. 创建网站目录
创建一个网站目录并添加 index.php
文件:
mkdir site
echo "<?php phpinfo(); ?>" > site/index.php
6. 启动 Docker 容器
在项目目录下运行以下命令启动服务:
sudo docker-compose up -d
7. 测试访问
打开浏览器,访问 http://your-domain.com
,你应该能看到 PHP 信息页面。
结尾
就这样,一个简单的 Caddy 和 PHP-FPM 服务器就部署好了。通过 Docker,整个过程变得无比顺畅。记得根据你的需求调整配置,享受开发的乐趣!如果有任何问题,欢迎留言讨论。