宝塔

宝塔所建WordPress域名迁移中一些问题的解决方法

一、域名迁移

1.何为域名迁移?

即我有原域名AAA.com下的一个wp博客网站,但是这个AAA.com域名要到期了或者有自己更喜欢的域名,则需要对域名进行迁移操作。

2.迁移过程

由于宝塔网站设置的限制存在,在这里选用的是先使用宝塔自带的功能备份站点及数据库,完成后将原站点及其配套的数据库删除。重新新建一个域名为BBB.com的新网站(即使用你想更换的域名建站)。值得注意的是,在删除网站时其实不需要删除数据库,这里只是为了保证严谨。然后在www/backup/site目录下找到之前的网站备份压缩包,将其解压到新建的网站的根目录下。(详情请谷歌宝塔wordpress备份恢复)

完成上面步骤后,修改新建的站点的权限为755并勾选包含子文件夹选项。修改wp_config.php中的数据库相关信息,重启nginx即可。(固定链接伪静态、ssl证书要重新配置)

附:伪静态代码:

location /
{
	 try_files $uri $uri/ /index.php?$args;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

3.在迁移过程中出现了什么问题?

问题一:出现403 Forbiden nginx 错误:

解决方案:

使用ping工具查看域名解析情况,发现已经正常解析,但是仍出现一直403的情况。后来发现403是重定向至原域名下的403错误,而非新域名下的错误。初步排查和cf解析无关,与ssl证书也无关。在修改数据库表项之后应该不会再重定向过去,检查重定向也没有记录。怀疑为really simple ssl等插件导致的重定向,疑惑了很久以后通过强制设定主页网址解决。即在wp_config.php的末尾加入代码:

define('WP_HOME','https://oliverhou.com');
define('WP_SITEURL','https://oliverhou.com');

问题二:变更cloudflare解析后仍解析至原域名,但是原域名证书和解析记录已被删除,导致直接报错DNS ERROR 1016

解决方案:

原先是讲旧域名解析记录直接删除,在新域名处添加新纪录。但是不知为何需要将旧域名修改指向再删除才生效,可能是修改可以设置TTL为一分钟可以马上生效的原因。故修改旧域名指向后再删除,随后错误变为问题一

还有关于插件等问题未提及但是也仍需注意。同时在迁移时需要使用SQL语句修改域名关键信息,参考代码:

UPDATE wp_options SET option_value = replace(option_value, 'old_domain.com', 'new_domain.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET post_content = replace(post_content, 'old_domain.com', 'new_domain.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value, 'old_domain.com', 'new_domain.com');
UPDATE wp_comments SET comment_content = replace(comment_content , 'old_domain.com', 'new_domain.com');

上述代码参考网站(网站内还有别的情况的代码):

VPS在宝塔LNMP环境下搭建proxypool获取免费Clash和V2ray节点

VPS 安装宝塔

https://www.bt.cn/bbs/thread-19376-1-1.html

下载相关文件

在虚拟机的根目录新建一个文件夹,名字随意

进入新建的文件夹,远程下载主程序代码

https://github.com/xiaofei-ya/proxypool/releases/download/v0.5.3/proxypool-linux-amd64-v0.5.3.gz
该版本为最新版,还没有继续更新,详情可以留意这个github仓库

解压在当前文件夹并重命名为 proxypool,并确定权限为 755(以上也可)

同样远程下载另外两个配置文件

https://raw.githubusercontent.com/xiaofei-ya/proxypool/master/config/config.yaml
配置文件
https://raw.githubusercontent.com/xiaofei-ya/proxypool/master/config/source.yaml
资源文件

解析域名

cloudflare 或者别的域名解析到自己的 VPS 地址

首先将自己的域名加入Cloudflare(或者其他CDN)

cloudflare参考教程:https://zhuanlan.zhihu.com/p/82909515

!!!注意这里域名解析的小黄云如果项目失败的话把它变灰再试一次,因为这个项目不需要加速,只需要DNS代理跳转

将SSL设置为完全严格

边缘证书会出现这个,这样就代理成功啦!ping这个网址就可以ping通

配置文件

双击打开配置文件 config

domain 就是你刚刚在CDN解析的域名

source-files 这里把前面的文件夹去掉,留下./source.yaml 即可

cral-interval 是爬虫爬取间隔,设置为 720 即可,不必过于频繁

下方 speedtest 可以打开或者关闭速度测试

网站反代

宝塔网站里添加一个网站,域名为刚刚解析好并填入配置文件的网址。

申请一个 ssl 证书,并打开强制 https

然后添加一个反向代理,代理到本机的 12580 端口(其他自定义也可以但是要和配置文件一致)

这里要提示一下,如果申请Let’s Encrypt不成功,请升级nginx版本和PHP版本

参考版本:Nginx:1.19 PHP:8.0

增加 / 删除抓取源

根据他给的格式自己进行添加 / 删除

其中TG频道直接填写TG频道网址后面的频道名字:

例如:https://t.me/GCPUS则填入GCPUS

其他条目自行百度或者评论留言

运行程序

使用ssh 启动程序

运行完输入ps -ef 查看进程是否有./config/source.yaml
若有即为成功,不成功原因可能有:config.yaml或者source.yaml格式错误

nohup ./proxypool -c config.yaml 1>>run.log 2>>run.log &

更新配置 / 重启程序

代码

cd /123 # cd后面是你自己设置的根目录路径
ps -ef

然后输入 kill -s 9 ./proxypool -c config.yaml 对应的 PID

比如我这里就是 kill -s 9 595199 # 每个人的 PID 是不一样的!

这样就结束进程了

再次启动使用启动命令即可

nohup ./proxypool -c config.yaml 1>>run.log 2>>run.log &

程序有启动时间,请在 3 分钟后刷新页面查看是否生效

Demo

代理池:https://proxy.olivers.works/

Fork 项目地址:https://github.com/xiaofei-ya/proxypool

节点筛选教程