简介
有一个wordpress服务器需要迁移了,之前都是别人维护的,现在需要迁移到自己维护,给的系统是linux centos 8.4。迁移包括MysqL,PHP,PHPmyadmin,wordpress本文是迁移的记录。
步骤
1. 安装docker
基本的顺序按照安装 Docker 和 Docker Compose这篇文章来进行。按照说法,安装epel之后,需要修改/etc/yum.repos.d/epel.repo
这个文件,将epel的enabled属性改成enable=1
,保存后方可正常安装python-pip
。
但是安装后还是不成功,于是换了一个思路,直接使用easy—install pip
,安装pip成功。
2. 配置docker环境
在自己的目录中创建一个wordpress-setup目录,并新建docker-compose.yml,填入以下内容:
version: '3.7'
volumes:
wp-data:
networks:
wp-back:
services:
db:
image: MysqL:5.7
volumes:
- wp-data:/var/lib/MysqL
environment:
MysqL_ROOT_PASSWORD: rootPassword
MysqL_DATABASE: wordpress
MysqL_USER: wp-user
MysqL_PASSWORD: wp-pass
ports:
- 8889:3306
networks:
- wp-back
PHPmyadmin:
depends_on:
- db
image: PHPmyadmin/PHPmyadmin
environment:
PMA_HOST: db
MysqL_USER: wp-user
MysqL_PASSWORD: wp-pass
MysqL_ROOT_PASSWORD: rootPassword
ports:
- 3001:80
networks:
- wp-back
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- 8888:80
- 443:443
environment:
wordpress_DB_HOST: db
wordpress_DB_USER: wp-user
wordpress_DB_PASSWORD: wp-pass
volumes:
- ./wordpress-files:/var/www/html
container_name: wordpress-site
networks:
- wp-back
然后直接在目录下执行docker-compose up -d
即可。
发现下载速度很慢,可以修改
/etc/docker/daemon.json
这个文件以修改默认的源(实测阿里云的加速器很给力),如果没有这个文件,新建即可。参考这篇文章。
安装完毕之后,需要配置一下防火墙。
firewall-cmd --zone=public --add-port=8000/tcp --permanent # 开放8000端口
firewall-cmd --reload # 配置立即生效
访问http://localhost:8888端口就可以正常访问wordpress了。主文件夹直接被映射为当前工作目录下的wordpress-files文件夹,可以直接进行操作,修改wordpress的资源文件。
后记
由于一些地方有限制,之前我使用直接使用yum/dnf进行安装的方法,要一点点安装mariadb、PHP、PHPMysqLAdmin、wordpress等等,还会涉及到各种配置的问题,不是很熟悉linux的情况下,操作起来还是挺非费劲的。
FAQ
1. 安装docker与docker-ce和docker-ee的区别?
直接yum install docker中的docker,一般是由本发行版维护的,有可能功能上和官方版本有区别;docker-ce指的是docker的社区开源版本,不一定向每一个发行版都提供;docker-ee指的是商业版本。
2. wordpress运行之后,一直提示:Error establishing a database connection
如果数据库工作正常,那么就是防火墙的问题了,那个firewalld搞的鬼,可以查看这里有解决方案,当然你直接关了firewalld也行。