当你的 WordPress 网站的流量逐渐增加,你可能会发现网站响应时间变慢,甚至出现无响应的情况。这时候,使用缓存技术可以显著提高网站的性能和稳定性。本篇博客将介绍如何使用 Docker 搭建 WordPress + Redis 缓存来提高网站的性能。
一、安装 Docker 和 Docker Compose
首先,需要在服务器上安装 Docker 和 Docker Compose。Docker 是一个开源的应用程序容器引擎,可以帮助你在不同的环境中快速构建、部署和运行应用程序。Docker Compose 则是一个用于定义和运行多个 Docker 容器的工具。
安装 Docker 和 Docker Compose 的具体步骤可以参考官方文档:[1],[2]。
二、创建 WordPress 和 Redis 容器
下一步,我们需要创建 WordPress 和 Redis 容器,并使用 Docker Compose 进行管理。在项目根目录下创建一个 docker-compose.yml
文件,并添加以下内容:
version: '3'
services:
db:
image: linuxserver/mariadb
volumes:
- pls_change:/config
restart: always
environment:
MYSQL_DATABASE: pls_change
MYSQL_USER: pls_change
MYSQL_PASSWORD: pls_change
MYSQL_RANDOM_ROOT_PASSWORD: '1'
PUID: 1000 #通过bash里面 id
PGID: 1001 #
TZ: Asia/Shanghai
ports:
- 172.17.0.1:8888:80
network_mode: bridge
container_name: mariadb
redis:
image: redis
restart: always
network_mode: bridge
hostname: redis
container_name: redis
wordpress:
depends_on:
- db
- redis
image: wordpress:latest
ports:
- "80:80"
restart: always
environment:
WORDPRESS_DB_HOST: 172.17.0.1:8888
WORDPRESS_DB_USER: pls_change
WORDPRESS_DB_PASSWORD: pls_change
WORDPRESS_DB_NAME: pls_change
volumes:
- /pls_change:/var/www/html
network_mode: bridge
container_name: wordpress
以上配置文件包含了三个服务:MySQL 数据库服务、Redis 服务和 WordPress 服务。
其中,MySQL 服务用于存储 WordPress 数据,Redis 服务则是用于缓存 WordPress 的数据和查询结果。WordPress 服务将依赖于 MySQL 和 Redis 服务。
这里采用了linuxserver/mariadb,linuxserver 的容器可以保持本地文件的权限,设置puid和pguid两个参数即可。
三、启动服务
创建好 docker-compose.yml
文件后,我们可以使用以下命令启动服务:
docker-compose up -d
其中,-d
参数表示在后台运行服务。如果需要查看服务的日志信息,可以使用 docker-compose logs
命令。
四、配置 WordPress 使用 Redis 缓存
最后一步,我们需要在 WordPress 中配置使用 Redis 缓存。
使用以下命令进入 WordPress 容器:
docker-compose exec wordpress bash
然后,修改 WordPress 的 wp-config.php
文件,添加以下内容:
/** redis */
define('WP_REDIS_HOST', '172.17.0.1');
define('WP_REDIS_PORT', '6379');
// change the prefix and database for each site to avoid cache data collisions
define( 'WP_REDIS_PREFIX', 'my-wp-site' );
define( 'WP_REDIS_DATABASE', 1 ); // 0-15
// reasonable connection and read+write timeouts
define( 'WP_REDIS_TIMEOUT', 1 );
define( 'WP_REDIS_READ_TIMEOUT', 1 );
进入WordPress后台,安装Redis Object Cache插件,然后点击启用即可。
最后,保存文件并重启 WordPress 容器即可完成 WordPress + Redis 缓存的搭建。
https://github.com/rhubarbgroup/redis-cache/blob/develop/INSTALL.md
总结
本篇博客介绍了如何使用 Docker 搭建 WordPress + Redis 缓存来提高网站的性能和稳定性。通过 Docker Compose 管理容器和服务,我们可以轻松地扩展服务,并快速进行环境配置和部署。