用 Docker 搭建 WordPress + Redis 缓存来提高网站的性能

当你的 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 管理容器和服务,我们可以轻松地扩展服务,并快速进行环境配置和部署。

Leave a Reply

Your email address will not be published. Required fields are marked *