文章目录
[隐藏]

一、架构

域名及云主机:阿里云域名+搬瓦工VPS

SA及CMS:LAMP+Vsftp+Wordpress

图床:七牛云存储

二、Wordpress问题

1、中文标签及目录404问题

刚开始只发现中文标签404,网上搜索了一个插件“wp slug translate”,用上这个可以将文章的中文标签转成英语

后来发现分类目录点击后仍会出现404的错误,参考小沉御笔这篇博客,该代码消Bug,即:

$req_uri = str_replace($pathinfo, , $req_uri); 改为 $req_uri = str_replace($pathinfo, ”, urldecode( $req_uri ));

问题即可解决。

注意,wordpress升级后,就会出现这个老问题,需要再改下代码。

2、插件安装

参考落格博客中安装了几款插件,Crayon Syntax Highlighter的代码插入,WP-PostViews的浏览统计还挺好的。

关于图片等管理部分,安装了WPJAM Basic和Image-elevator

图床申请了七牛存储,然后将文件备份到七牛上。安装WPJAM Basic后出现了页面排版发生紊乱,原因为加载CSS和JS错误导致,在七牛设置中,本人去掉JS和CSS的静态文件缓存,只缓存png|jpg|jpeg|gif|ico图片文件,如果全部缓存完JS/CSS文件可能没有问题。

对于撰写文章中无法动态插入图片的问题,Image-elevator插件可以完美解决这个问题。

增加了文章目录,使用了Content Index插件,尝试了wpjam-toc手动实现目录,都不大好用。

有了这些插件,基本可以快速干活了!

3、升级

主机上配置好FTP,Dashboard中傻瓜式升级即可。

4、二级域名及多域名绑定

一个VPS上想挂多个域名或二级域名的网站,利用apache服务器的VirtualHost即可,如下:

其中xx.xx.xx.xx为vps的IP,/var/www/html/image/、/var/www/html/another/分别为二级域名及另外一个域名的站点目录。

接下来去域名系统配置DNS解析,保存后生效即可。

5、数据备份

不知道主流备份怎么搞的,我是采用Crontab定时Push到Github办法

Github中建好Respository,git init到博客根目录,配置好git-ssh,然后定时Push即可。

设置用户信息

配置好git-ssh(略,可参考这里

本地创建Respository

定时备份crontab脚本参考如下:

数据库备份脚本db_backup.sh

Git Push脚本git_push.sh

三、运维问题

1、服务器宕机检测

不知道有没有现成的插件,考虑mail通知的方案,如果没有考虑服务器上搭建mails server的方式

参考另一篇博文:Linux配置邮件提醒

欢迎留言

2、服务器磁盘不足检测

当前策略是运行定时任务,设置邮件提醒。

欢迎留言

3、博客访问缓慢检测

换VPS!!!

欢迎留言

4、浏览统计

安装了Google Analytics的插件,可以统计最近两个星期浏览走势对比,如下:

 

在侧边栏增加了一个小Widget,在https://clustrmaps.com/上定制了一个世界范围的浏览统计地图,点击可以浏览详细:

5、博客迁移

用了一年的搬瓦工,配置是256MB的内存,刚开始文章数较少时首页加载速度还可以,但随着文章数越来越多(100篇左右),VPS有点扛不住了,内存几乎跑满,慢的时候一行行的加载,真实愁死人了,看了下搬瓦工配置,最低配置都512MB了,价格还是一年19.99刀,果断入手一个512MB。

然后想着把网站迁移过去,由于网站每天都有数据备份,想着直接从备份数据恢复,简单安装环境,拷贝了最新备份数据,但发现首页不能正常加载,后来慢慢排查故障,发现是WP-UTF8-Excerpt这个摘要插件的问题,启用这个插件首页就无法正常加载,但原来网站是没有这个问题的,Google了半天解决方案也未果。

后来考虑做系统快照的方式迁移,发现搬瓦工是提供这个功能的,将原来VPS做个系统快照,然后点下export以下,记下VEID和TOKEN,从新VPS控制台导入“Import a snapshot”,导入完成后,可以Restore直接恢复系统,之前的环境完全复制过来了,非常方便,当然这样做的前提是新旧VPS位于同一个机房,购买VPS最好注意一下。

其实也尝试了搬瓦工提供的rsync同步复制的迁移方式,但都莫名失败了,未果!

迁移后,网页加载明显快了不少。

6、VPS磁盘清理问题

看下了日志的git有一周没有自动提交了,最近发现磁盘被打满了,手动清理了git缓存,清理了一些log

发现磁盘使用率依旧很高,怀疑Inode被用完了,查看了Inode使用情况,发现果真已经用到100%了,

由于自己写的定时任务脚本未处理输出内容,导致大量输出内容追加到/var/spool/clientmqueue目录中,导致磁盘被打满,首先进行目录清理:

清理后,磁盘使用率正常了,然后修改自己的定时任务,丢弃定时任务的输出内容:

参考:http://blog.51cto.com/darren/1066855