mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-12 12:51:08 +00:00
style: apply global formatting fixes (struct, spacing, zhlint)
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
## 10.8 实战 WordPress
|
||||
|
||||
WordPress 是全球最流行的内容管理系统(CMS)。使用 Docker Compose 可以在几分钟内搭建一个包含数据库、Web 服务和持久化存储的生产级 WordPress 环境。
|
||||
WordPress 是全球最流行的内容管理系统 (CMS)。使用 Docker Compose 可以在几分钟内搭建一个包含数据库、Web 服务和持久化存储的生产级 WordPress 环境。
|
||||
|
||||
---
|
||||
|
||||
### 项目结构
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```
|
||||
wordpress/
|
||||
├── compose.yaml
|
||||
@@ -79,7 +81,9 @@ networks:
|
||||
|
||||
### 配置文件详解
|
||||
|
||||
#### 1. 环境变量(.env)
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
#### 1。环境变量 (。env)
|
||||
|
||||
为了安全,不要在 `compose.yaml` 中直接写密码。创建 `.env` 文件:
|
||||
|
||||
@@ -90,15 +94,15 @@ DB_PASSWORD=somestronguserpassword
|
||||
|
||||
Compose 会自动读取此同级目录下的文件。
|
||||
|
||||
#### 2. 数据持久化
|
||||
#### 2。数据持久化
|
||||
|
||||
我们定义了两个命名卷:
|
||||
- `db_data`: 确保 MySQL 容器重建后数据不丢失
|
||||
- `wp_data`: 保存 WordPress 的核心文件、插件、主题和上传的媒体文件
|
||||
- `db_data`:确保 MySQL 容器重建后数据不丢失
|
||||
- `wp_data`:保存 WordPress 的核心文件、插件、主题和上传的媒体文件
|
||||
|
||||
#### 3. PHP 配置优化
|
||||
#### 3。PHP 配置优化
|
||||
|
||||
默认的 WordPress 镜像上传文件限制较小(通常 2MB)。创建 `uploads.ini`:
|
||||
默认的 WordPress 镜像上传文件限制较小 (通常 2MB)。创建 `uploads.ini`:
|
||||
|
||||
```ini
|
||||
file_uploads = On
|
||||
@@ -131,7 +135,9 @@ $ docker compose logs -f
|
||||
|
||||
### 生产环境最佳实践
|
||||
|
||||
#### 1. 数据库备份
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
#### 1。数据库备份
|
||||
|
||||
不要只依赖 Volume。建议定期备份数据库:
|
||||
|
||||
@@ -161,11 +167,11 @@ $ docker exec wordpress_db mysqldump -u wordpress -pwordpress wordpress > backup
|
||||
- wp_net
|
||||
```
|
||||
|
||||
#### 2. 使用 Nginx 反向代理
|
||||
#### 2。使用 Nginx 反向代理
|
||||
|
||||
在生产环境中,不要直接暴露 WordPress 端口,而是通过 Nginx 进行反向代理并配置 SSL。
|
||||
|
||||
#### 3. 使用 Redis 缓存
|
||||
#### 3。使用 Redis 缓存
|
||||
|
||||
WordPress 支持 Redis 缓存以提高性能。
|
||||
|
||||
@@ -187,15 +193,17 @@ WordPress 支持 Redis 缓存以提高性能。
|
||||
|
||||
### 常见问题
|
||||
|
||||
#### Q: 数据库连接错误
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
**现象**:访问页面显示 "Error establishing a database connection"。**排查**:
|
||||
#### Q:数据库连接错误
|
||||
|
||||
**现象**:访问页面显示 “Error establishing a database connection”。**排查**:
|
||||
1. 检查 `docker compose logs wordpress`
|
||||
2. 确认 `.env` 中的密码与 YAML 文件引用一致
|
||||
3. 确认 `WORDPRESS_DB_HOST` 也是 `db`(服务名)
|
||||
3. 确认 `WORDPRESS_DB_HOST` 也是 `db` (服务名)
|
||||
4. MySQL 8.0 可能需要几秒钟启动,WordPress 会自动重试,稍等片刻即可。
|
||||
|
||||
#### Q: 无法上传大文件
|
||||
#### Q:无法上传大文件
|
||||
|
||||
**解决**:确保挂载了 `uploads.ini` 配置,并且重启了容器:
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user