近几天博客换主机遇到的问题总结
最近在将虚拟主机上的博客往云服务器上移,遇到了些问题,做些记录。
共享虚拟主机实在是比较卡,想往云服务器上迁,但是阿里云ecs快到期了,续费的费用实在头疼。于是在vultr上弄了个5美刀每月的服务器,下面开始迁移。
一、迁移到docker上
迁移前了解了些docker的东西,觉得直接使用镜像和容器的方式比较容易管理。用nginx代理了wordpress,在http下没有问题。但是由于在虚拟主机上开启过https,百度收录的大都是https,如果不升级到https,那仅仅一丢丢的访问量也没了。于是考虑升级https,下面描述下在迁移中遇到的问题:
- 配置完https后,样式加载不上,且登录后台会一直循环重定向。
处理方法: 在根目录的wp-config.php文件最后加入以下代码:
$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
- 接着样式正常了,但是后台还是登录不了。
处理方法: 修改数据库中的配置,在ssh中连接数据库。
use wordpress;
update wp_options set option_value='https://www.zhuyuntao.com' where option_name='siteurl';
update wp_options set option_value='https://www.zhuyuntao.com' where option_name='home';
update wp_posts set post_content = replace(post_content, 'http://www.zhuyuntao.com','https://www.zhuyuntao.com');
用过wordpress的都知道,站点名等配置改了会导致无法登录。因为请求会发送到错误的域名下,所以用mysql命令修改数据库中的站点名等配置。
- 此时已经可以登录了,但是出现了403。
此问题未解决,尝试了能搜索到的各种方法。修改文件权限,修改nginx配置等,还出现过500的错误,但是都没有能让https正常。
结果
必须改成https,所以换中方式,采用直接安装的方式去处理。
二、直接安装wordpress
apt-get等等一串命令。我是按照这篇文章(https://www.jianshu.com/p/84c2dad49e42)操作的,很快一个http的wordpress就可以搭建完成了。
由于第一种方式是使用wordpress自带的插件进行迁移的,所以没有遇到数据方面的问题。而由于域名被我搞的混乱了,所以这边直接使用,从命令行导出和导入的方式来处理。
- 直接source *.sql导入数据后,首页白屏。
处理方式:
检查下wp_options这张表中的主题,看看是不是还是用的老主题。 接着在apache配置中改成支持https的方式。
- https一会能连上,一会连不上,延迟很大。
目前境外https大概率无法访问,或间歇性无法访问,特别是一些热门的服务器运行商和路线。。。 但是不能放弃啊。突然想到,我还有每月20G的阿里云CDN流量呢。是不是可以用来给https加速呢?
三、解决方法
尝试给https加速无果,但是我发现了个强制https->http的选项。通往我服务器的必须是http才能保证访问正常,而百度收录的是https,那么中途转下不就行了?
目前本博客已经正常了,而且还能看到原先的那么一丢丢从百度上来的访问量了。 最后,技术万岁,让我找到了折中方案。