请输入图片描述

文章开头我真想说一句草它大爷的,作为0基础萌新,搬个博客真心不容易,网上关于centos 7系统 lnmp 环境下带https 的wordpress博客搬家攻略还真的挺少的,导入数据库造成自动加载默认https访问,造成wordpress后台无法访问,直接GG的操作,真让人无语,花了5天5夜,终于研究明白了,整理攻略如下,不说步骤是否规范,能保证思路是最完整的搬家方式:

准备工作:
一、原wordpress自带工具>导出里面,导出一份你的全站博文配置文档(不含具体附件和网页设置参数),只是纯文本和超链接文字code一篇;
二、mysql数据库备份一份xx.sql文件(2M不到大小),这个简单,mysql -u root -p输入密码,直接去mysql用mysqldump操作备份就行;
三、整个网站目录文件全备份,我目前的是2100多个文件,181M大小,使用前面说到的rclone挂载备份到谷歌盘里面,方便免费好用,你也可以下载到本地,慢慢ftp传吧;

思路:
新主机上面全新安装,导入xml文档,理应看到无格式无附件无主题无配置的博文恢复毛坯效果>>导入全网站目录(幻想着可能能查阅原网站目录和相关附件等信息,即使自动导入不成,手动一条条梳理也是可以接受的,然后现实告诉我想多了)>>导入mysql数据库.应该就大功告成了(然而现实是磨了5天,身心疲惫)
通过实践,流程是对的,实际细节问题很多,下面是具体的攻略,已经梳理流畅版:

一些基本指令
rclone系 screen系就不多说了,自己查阅前面的文章
https://omo.moe/?p=173
关于nginx的一些查询,如果版本更新,怎么找到你的nginx conf位置,当然去一键包或者官网的readme文档慢慢看也是很好的,自己记住下面这个查询指令,更加主动:
ps -ef | grep nginx
然后就可以vi编辑了
vi /usr/local/nginx/conf/nginx.conf
启动指令:(一个重启代替stop和start了,这个都懂,通用的)
/etc/init.d/nginx restart

好了,正式开始:
yum -y install screen
方便懒虫们,我还是直接贴出screen安装方式了
当然,你要用rclone的话,一键安装也附带screen了

再输入rclone配置方法详见:
https://omo.moe/?p=103

这些附带配置做好之后,开始一键包安装lnmp环境了
screen -S lnmp
我们取一个容易记的别称,开一个叫lnmp的screen窗口开始安装lnmp,你可以按照自己喜好命名,记得是用 -S大写的
直接用https://lnmp.org/install.html 的一键脚本:
wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./install.sh lnmp

ctrl a+d直接关掉ssh离线挂机,40分钟后回来screen -r lnmp收下菜
http://你的ip/phpmyadminhttp://你的ip 看看mysql和lnmp是否安装成功

挂载备份目录,我采用的是rclone备份:

rclone安装:
yum -y install wget unzip screen fuse fuse-devel
wget https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
chmod 0755 ./rclone-*/rclone
cp ./rclone-*/rclone /usr/bin/
rm -rf ./rclone-*

rclone config
按着前文提到的方法配置好你的谷歌盘

rclone mount GdriveB:备份/www.omo.moe /root/GdriveB --allow-other --allow-non-empty --vfs-cache-mode writes &
这是我的挂载目录,网站全部目录文件都放在谷歌盘的备份/www.omo.moe文件夹下,直接挂载起来
cd /home/wwwroot/default
ls
index.html lnmp.gif ocp.php phpinfo.php phpmyadmin p.php
查看下lnmp的默认主页,index.html就是那个成功页面的php文档,没问题了就删了它
rm index.html
改变下用户配置文件,前提记得你现在位于你的网站主目录下,可以用ls -a查看是否有这个隐藏配置文件,改下属性方便等会备份的时候全覆盖。
chattr -i .user.ini
再开一个screen 开始同步备份,我就命名为syc好了:
screen -S syc
rclone copy -v --stats 15s GdriveB:备份/www.omo.moe /home/wwwroot/default
稍等5分钟,原网站所有文件就下发成功了

请输入图片描述
接下来先创个wordpress数据库,重新建一个wordpess好了

mysql配置:
mysql -u root -p
输入安装lnmp时候你的root用户密码,如果之前留空,这里密码默认是root。
进入mysql后,素质三连:

CREATE DATABASE wordpress;
CREATE USER plumn@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON wordpress.* TO plumn@localhost IDENTIFIED BY 'password';
创一个叫wordpress的数据库,随你喜好取名,取个专用管理用户名,自己改成喜欢的,弄个密码,自己设置,改下password,别太傻了。
最后刷新下这些改变和权限:
FLUSH PRIVILEGES;
exit

直接在 /home/wwwroot/default网站主目录下
vi wp-config.php
// MySQL settings - You can get this info from your web host //
/* The name of the database for WordPress /
define('DB_NAME', 'wordpress');

/* MySQL database username /
define('DB_USER', 'plumn');

/* MySQL database password /
define('DB_PASSWORD', 'yourpassword');
就改三项:DB_NAME,DB_USER, DB_PASSWORD,看得懂吧

wp-config.php,添加以下代码授权更新,免除ftp方式更新,ftp权限设置太麻烦,要设置出好用方便安全的ftp,能设置半个小时,我反正是不喜欢。

define("FS_METHOD","direct");
define("FS_CHMOD_DIR", 0777);
define("FS_CHMOD_FILE", 0777);
小博客而已,不讲究那么安全了。

然后权限转移到用户组用户名www(重要!)chown -R www:www /home/wwwroot/default
ls -l一下,看看网站所有文件是不是都属于www用户了

导入网站主体xml文件
请输入图片描述请输入图片描述

记得选择将日志分配给现有用户

导入mysql 数据库备份
请输入图片描述
直接去phpmyadmin导入到刚才新建的wordpress数据库就好,本地电脑选择之前备份的xx.sql数据库文件即可,或者你在主机上直接用指令一顿操作备份也行的。

然后访问你的网站,会启用以前的https访问,后台无法打开了,别慌:
请输入图片描述
最后一步,
使用lnmp重新配置https ssl证书
目录自己看着改,我是放在我的网站主目录下ssl文件夹里,不管安全性了,你可以放在别的地方,比如/var/www/ssl 或者/root/ssl任意地方,随便你,我是打包搬家方便,就放一块了。

lnmp ssl add
请输入图片描述Test Nginx configure file......
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
Reload Nginx......

然后我的站点就全部回来了,感动的快哭了
哦,对了,忘记说了,域名商那里自己记得更新下两个A类型@ 和www的解析值到你的新ip地址,然后我的ssl证书验证是通过一个cname解析验证授权的,如果你的ssl证书是其他方式认证的话,自己摸索吧!如果最后一步无法验证你的证书,可以去phpmyadmin把刚导入的数据库文件删除,保持http访问再研究研究,可以考虑先把证书正确设置好了之后再导入原数据库。

Last modification:August 6, 2020
If you think my article is useful to you, please feel free to appreciate