WordPress一站迁移+重新部署

无论是因为之前是在 www.wordpress.com ,或者托管服务器上运行的wordpress想要搬家,还是为了对自己的vps进行升级,都需要把wordpress搬到新的vps上。这边wordpress有非常好用的插件可以一键搬家。所以这篇文章更像是对安装wordpress的一个补充。因为按照之前的教程 ,安装wordpress会占用80端口,影响其他服务的使用。感谢云五老师在自己的博客中提出这点并提供了详尽的新教程

备份wordpress

这边我用了两个插件:

  • 备份插件:UpdraftPlus

  • 搬家插件:All-in-One WP Migration

备份插件是我一直在用的,我刚好测试一下这个备份是不是真的能完全恢复。但是这个插件的搬家功能(更换域名)是付费的,有需要这个功能的可以试试另一个搬家插件All-in-One WP Migration,不过这个的免费版对容量限制在250M。以防万一我两个服务都备份了。

配置新服务器

购买VPS,然后去域名的DNS设置那里把域名指向新服务器ip。这步进行之后就打不开旧站了,务必在此之前做好备份,救急可以用 IP:80 的方式打开。

登陆你的VPS,设置ssh-key,设置禁止密码登陆,设置SWAP,安装docker和docker-compose等,这部分可以参考:如何在Docker上从头搭建Mastodon 前两步。防火墙暂时不打开,全部设置好之后再打开,可能会引起调试过程中的bug。

检查一下docker和docker-compose是不是装好了:

$ docker -v
$ docker-compose --version

我个人还建议在docker安装完成之后,开始创建wordpress之前,建一个用户(而不是用root操作):

$ adduser wordpress # 新建wordpress用户
$ usermod -aG sudo wordpress # 添加sudo权限
$ su wordpress # 切换用户
$ cd ~ # 转到用户home目录

开始安装wordpress

本段主要参考云五老师的用Nginx反代实现docker安装WordPress与其他服务并存 。相比于之前的教程,这个不会占用80和443端口,对VPS后续安装其他服务(包括另一个wordpress)很有帮助,非常推荐。需要在命令行前加sudo

这里我按照教程走下来很顺利,额外提醒一下,在80端口测试的时候,意思是你需要打开 http://example.com ,而不是 https://example.com 。因为现在只配置了80端口,只有http可以打开。

另外还有一点是,我不确定是不是因为我的防火墙设置,在配置证书前 http://example.com 一直显示127.0.0.1 已拒绝连接。总之配完SSL之后就可以用 https://example.com 打开了。

自动更新证书

参考:Centos7安装certbot获得并更新证书(使用Snap) ,certbot会自动更新,可运行以下命令测试自动更新能否正确运行:

$ sudo certbot renew --dry-run

迁移站点

安装之前迁移用的插件,选择还原。

我这边先使用了UpdraftPlus,关联Google Drive后,重新扫描远程存储,我之前的备份就出现了,然后点击恢复。确定站点稳定运行后,再进入插件,会提示你删除旧目录。

(2023.2.7更新)扩充媒体容量上限

进入docker

docker exec -it wordpress /bin/bash

cp一个设置文件

cp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini

修改设置文件

vi /usr/local/etc/php/php.ini

修改这三个值并保证
memory_limit>post_max_size>upload_max_filesize

PS:vim查找命令为:/要查找的字符串,n下一个,N上一个

退出后重启容器

docker restart wordpress

2 评论

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注