jinzh notes
jinzh notes

docker中部署wordpress并且开启redis

docker中部署wordpress并且开启redis
内容纲要

前言

站点做了迁移,从原来的4g小机器迁移到现在的32g独服上面,原本的部署方式使用的是lnmp部署,通过它管理nginx+mysql+php+redis,现在转为通过docker部署整个博客(php+redis+mysql),外部服务仅剩下一个caddy用作反代。总之,容器化香就完事!😀

迁移方案

我的迁移方案很简单,就是插件备份,然后到新机器上还原。

这里就需要吹一下UpdraftPlus-备份/恢复这个插件了,很的很厉害,它支持自动备份全局内容到多种远程服务上面,包括并不限于(Amazon S3、Dropbox、Google 云端硬盘、rackspace、(S) FTP、WebDAV 和电子邮件),算是我目前用过最强大的备份插件了,而且该插件的还原是真正意义上的还原,它完完全全还原的一模一样,甚至于账户和密码原封不动还原回去

这里我使用谷歌云盘来进行备份,只需要连接到谷歌账户即可,然后到新的环境上安装好插件,连接谷歌,恢复即可,全自动操作!

环境部署

当前博客的部署方案为:docker容器化(wordpress官方镜像、redis官方镜像、mysql官方镜像)

前置条件:

  • docker
  • docker-compose

直接使用docker-compose部署即可,以下为文件内容:

version: '3.1'

services:

  wordpress:
    image: wordpress
    container_name: wordpress
    restart: always
    ports:
    #这里是映射的端口
      - 127.0.0.1:8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wpuser
      WORDPRESS_DB_PASSWORD: wppassword
      WORDPRESS_DB_NAME: wpdb
    volumes:
      - wordpress:/var/www/html

  db:
    image: mysql:5.7
    container_name: wordpress_mysql
    restart: always
    environment:
      MYSQL_DATABASE: wpdb
      MYSQL_USER: wpuser
      MYSQL_PASSWORD: wppassword
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - wp_db:/var/lib/mysql

  redis:
    image: redis
    container_name: wordpress_redis
    restart: always

volumes:
  wordpress:
  wp_db:

使用以下命令执行

docker-compose -p wp up -d

执行完成后配置好反向代理,这里配置wordpress的地址为:127.0.0.1:8080,反代它

我的web服务器使用的caddy,具体配合可以参考我以前的文章,这里配置形式如下:

https://jinzh.me {
        tls jinzhongjia@qq.com
        #配置邮箱
        reverse_proxy 127.0.0.1:8080
        #配置反代地址
        encode gzip
        #开启gzip
}

然后就是配置wordpress的redis,redis上方已经部署完成,但是wordpress的镜像不包含php的redsi扩展,并且需要更改wordpress的redis插件连接默认值,涉及到编辑wp-config.php文件

因此,先进入容器中:

docker exec -it wordpress bash
#wordpress是容器名

wordpress的容器包管理使用的是apt,先更新:

apt update
apt install vim
# 安装vim
pecl install redis-5.1.1
# 通过pecl安装redis插件
docker-php-ext-enable redis
# 开启扩展

wp-config.php中添加如下内容即可:

define("WP_REDIS_HOST","redis");//主机名(docker容器名)
define("WP_REDIS_PORT",6379);//端口(配置文件默认6379)
define("WP_REDIS_PASSWORD","yourpassword");//密码(如有)
# 其他参数参考:https://github.com/rhubarbgroup/redis-cache/wiki/Connection-Parameters

这就配置完成了,返回到wp中开启扩展(推荐Redis Object Cache)就可以了

没有标签
首页      linux      docker中部署wordpress并且开启redis

影翼

文章作者

发表回复

textsms
account_circle
email

jinzh notes

docker中部署wordpress并且开启redis
前言 站点做了迁移,从原来的4g小机器迁移到现在的32g独服上面,原本的部署方式使用的是lnmp部署,通过它管理nginx+mysql+php+redis,现在转为通过docker部署整个博客(php+redis+mysql)…
扫描二维码继续阅读
2022-08-29