最近一直有事没看博客,直到昨晚Google给发了封邮件,说检测到服务器上的错误呈现增加趋势

乘今天有点空闲,上了服务器看看。

发现wordpress和mysql这两个docker container都是正常运行,没挂掉。

按照以前的套路

docker restart mysql
docker restart wordpress

结果不行,看来不是小问题了。

针对这两个docker分别用docker logs命令查看了日志,mysql的没发现什么比较明显的错误报告,但是wordpress里面就满屏都是了

Warning: mysqli::mysqli(): (HY000/2002): Connection refused in - on line 10

MySQL Connection Error: (2002) Connection refused

上网找了半天,发现有人说可以通过重启docker来修复

试了一下,我的服务器是CentOS的,命令如下:

service docker stop
service docker start

重启完了之后,发现wordpress的container停掉了,用docker start wordpress给启用了

再次刷新网站,恢复正常了!

起因

18+1大,因为作死的还一直开着我的ss,然后连同着博客一起被墙了。

想上服务器做一些修改,试过各种ssh的代理方法,就是不行。在调用这些手段的时候,突然发现有人提到VPS可以做到月费5$,有点惊呆了。https://www.diycode.cc/topics/738

仔细想想,自己现在这个EC2,每个月开销已经到$10了,其实自己也没怎么用,主要就是挂博客和放代理,那还不如索性乘这个机会迁到更符合实际需求单VPS上。

目标

这次迁站,主要两件事情,一个是搭建ss-server,一个就是wordpress和mysql数据的迁移。

wordpress和mysql都是基于docker部署的,算是其中的一个小难点

先在vultr.com上面创建了instance,等安装好了之后,用给的帐号密码登录指定服务器,成功。

ss-server搭建

使用上面说的文章梨提供的一键安装脚本,ss-server顺利安装成功。

在本地建好配置文件(config.json)之后,使用pip3 install shadowsocks快速安装了客户端,然后ss-local -c config.json启动

可是一直连不上,ss-local里面的日志都是connecting

在网上找了一圈之后,发现可能是本机没开放对应端口,使用命令:

 firewall-cmd --zone=public --list-ports

查看了一下现有开放的端口,发现ss默认使用的8989是开放的,不知道是为啥还被禁。

最后的解决方式是:kill掉ss-server, 修改配置文件,更换端口到8083(随便选的),然后启动ss-server。在防火墙这块:

firewall-cmd --zone=public --add-port=8083/tcp
firewall-cmd --reload

再尝试,可以顺利链接了。

代理配置好之后,我本地也是能方便的使用Google,为接下来查看怎么迁移Docker做了准备。

上面关于firewall-cmd相关的知识,是来自: http://www.111cn.net/sys/CentOS/103509.htm

迁移站点

因为vultr准备的这个instance是一个最小的CentOS安装包,所以得自己使用yum安装了vim和nginx:

yum install vim
yum install nginx

安装好之后,直接IP访问,发现不可以,一看还是防火墙的问题,解决方法跟上面一样:

firewall-cmd --zone=public --add-port=80/tcp
firewall-cmd --reload

关于docker的迁移,我一开始主要参照这篇文章:Docker 容器迁移,可真按照这个完成之后,得到的是一个完全新的博客,能顺利运行,但是之前的数据都没了。

无奈之下,我又单独去了解了一下Docker Mysql的数据迁移,主要参照的这篇文章:Docker Mysql容器间数据简单迁移。这次就靠谱多了,同时还学会了怎么在主机和docker之间互相拷贝文件。

在顺利从docker里面导出sql文件到主机后,再使用scp命令在vultr和aws之间传递文件(忘记说了,登录上vultr之后,我成功的基于vultr的主机ssh上了aws的主机,机智)

scp命令如果遇到错误: Permission denied,可以参照这篇文章: ssh使用scp: /目录: Permission denied

不过这篇文章在目标数据库恢复数据这块,说的不够清楚,用文章里面的方法始终没办法在mysql里面出现一个叫wordpress的数据库。

继续google,找到了一个在sql文件导入导出方面比较专业的文章: linux命令行下导出导入.sql文件,原来导入之前是得先新建对应的数据库,在进入数据库之后,再执行source data.sql就能顺利的导入了。

数据库导入之后,再查看网站,已经能正确展示了,不过一些图片资源报了404,看了看资源路径,在wp-content目录里面。

docker exec进入wordpress所在的docker里面,看了一下wp-content目录,空的,看来跟mysql一样,也是迁移的有问题的。

用了之前从mysql的docker里面导出sql文件的方法,从旧网站的docker里面把wp-content目录给导出来,然后scp下载到vultr主机,再复制到新网站的docker里面(好累),资源顺利加载。

不过一些插件报错了:**Call to undefined function wp_get_upload_dir()
** 
这种错误,我是不想去debug了,很明显,光拷贝wp-content是不行的,索性,那就完全贝把。把docker里面的/var/www/html/完全拷贝出来,再覆盖现有的。覆盖的时候,是打算

mv html hml-bk
tar zxf html.tar.gz

这样来做的,不过不让直接重命名现有的html目录,提示 mv: cannot move ‘html’ to ‘html-bk’: Device or resource busy

那就只好先新建个文件把旧网站的html目录放进去,然后一个个文件夹的替换。替换完成之后。

运气不错,现在新网站顺利运行了。

总结

这次的站点迁移,跟想像的优雅略有差别,以为用上Docker之后,这种迁移会是很轻松的一件事情,却没想到折腾了这么久。

应该是我自己在Docker这块了解的还是太少吧,等以后有时间再好好看看这块。

对了,顺便放上我的Vultr的推广链接:https://www.vultr.com/?ref=7256603,有需要VPS的朋友可以考虑一下点我的链接去注册哈,在此谢谢了

最近升级Wordpress的主题到twentyfifteen,清爽的界面看着果然高大上。然后问题来了,一直工作很好的分享工具JiaThis和uJian出问题了。找了客服问了下(自己太懒,不愿意debug),解决了JiaThis的问题,然后按照发现的问题的思路,顺便解决了uJian的问题。

JiaThis的分享按钮过小的问题

最开始的分享按钮是这样的

按钮很小

加上如下样式:

.jiathis_style img {
    max-width: 26px;
}

即可修复,变成

按钮正常

JiaThis的分享渠道面板

最开始的样式

无法展开

面板在鼠标放到按钮上的时候无法展开

加上如下样式:

.jiathis_style table{
    table-layout: auto;
}

使得表格的宽度计算方法恢复为默认的按内容来计算,样式就正常了

正常面板

uJian的展开样式

最开始是这样的扭曲

变形的uJian

加上和上面JiaThis的面板同样的样式之后

.jiathis_style table, #ujian-side table {
    table-layout: auto;
}

可以看的下去一点了

好一点的面板

再加上如下这段

#ujian-side a {
    box-sizing: content-box;
}

解决盒模型的计算方法

最终正常了:

效果? 看右侧的分享 ===============================>

所有的样式收集整理如下:

.jiathis_style img{ max-width:26px;}
.jiathis_style table,#ujian-side table{table-layout: auto;}
#ujian-side a{box-sizing: content-box;}

2015

2015年02月07日

<

ul>

  • 修改评论为多说
  • 申请了新浪微博的网站验证
  • 2015年01月19日

    • wordpress升级到4.1
    • 主题修改为twentyfifteen (新增了网站数据标识,赞!)
    • 建立主题twentyfifteen的子主题twentyfifteen-child 各种恢复之前的一些修改

    2014

    2014年10月16日

    2014年10月14日

    • 更换主题为twentyfourteen
    • 使用子主题的方式给主题twentyfourteen做变更

    2014年07月22日

    • 美化 文章内容和评论里面,code标签的样式

    2014年06月05日

    • 把font相关的css,从googleapi上面拷贝下来,放到自己的服务器,同时拷贝的还有相关的web font,避免国内访问的时候,总是被这几个资源卡的loading不停
    • 用iPhone上的safari收藏网站的时候,设定使用的icon

    2014年05月04日

    • 添加favcion

    2014年3月12日

    • 更换DNS为加速乐,不用西部数码的

    2014年3月1日

    • 去掉文章页底部的导航;添加友荐
    • 添加jiathis的一键分享
    • 修正错误的css选择器导致的版权相关样式错乱

    2014年2月28日

    • 部署Google Tag Manager
    • 在作者名称上添加指向Google+的地址链接
    • 美化文章页版权处的样式
    • 添加对entry-info的描述;修改文章页发表回复的按钮的位置

    2014年2月27日

    • 再次修改评论接口的文件名,使用乱码的名称,防止垃圾评论系统再次识别
    • 添加记录和显示文章浏览次数的功能;在文章页显示作者名称;在文章页底部添加版权申明
    • 调整版权申明的位置;在作者和浏览次数之间添加竖线进行分割

    2014年2月26日

    • 修复css语法错误,background-image不能设定position和多个背景图片
    • 修改评论的地址,尝试着通过这种方式阻止垃圾评论
    • 在header底部加了一条横线,区分内容和导航

    2014年2月25日

    • 修改首页内容背景色为磨砂纸,给博客标题添加text-shadown,使得显现出阴文效果

    2014年2月22日

    • 使用git ftp进行博客代码的本地开发和维护

    今天跟同事炫耀自己网站的排名从14020003上升到5248417(很坑啊),同事也是极度无语,然后顺便问了我下pv之类的。顿时尴尬了,之前一直想自己写个统计的,可是对于写个博客,花了两个星期都没完成的我,这写统计也不知道何年何月才能完成,只好先找个现成的。

    cnzz注册了个帐号,写好网站信息,然后弄了段代码,放到body.php里面。OK,统计添加完成。回头看看每天都有多少人访问。因为主机是在港台的,不知道啥原因,总是很多老外跑来发垃圾评论,这下可以看看,分析一下了