簡介
有一個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也行,
參考資料
- 安裝 Docker 和 Docker Compose
- CentOS下使用yum安裝python-pip失敗的完美解決方法
- Difference between Docker EE, Docker CE and Docker
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/134814.html
標籤:其他
