2015年博客升级记
这段时间对博客进行了一次升级,主要是从博客程序所在的系统服务器(CentOS)和WEB环境(LNMP)入手。目前自己的Linux服务器已经升级到CentOS7.1,同时LNMP环境也升级到了最新的版本。下面是整个升级过程的详细整理,记录一下方便以后查看。
1、升级系统服务器(CentOS)
2012年的时候,博客当时使用的域名是huangkeye.com,托管在一朋友@包子的国外虚拟空间上。后来在2013年的时候,由于新网域名续费太贵,所以弃用并重新申请了huangkeye.cn的域名,并将博客备案托管到了国内的虚拟主机上。虚拟主机都有两个弊端:首先是一台主机对应一个IP地址,然后两三百个域名都会解析到这台服务器上;其次,虚拟主机的性能、带宽、安全等都会受到这台主机上其它邻居
(即虚拟主机)的影响。于是在2013年7月份,我又重新购买了现在用的这个域名——typecodes.com,并将huangkeye.cn做301跳转到这个域名上来。同时将博客托管在阿里云服务器上。
1.1 升级系统内存
之前买的阿里云主机是单核、512M内存,现在阿里云深圳地域的主机正在做“限时优惠15%”的活动。看了下配置和相应的价格,于是将内存升级到了1G(单核升级到双核的价格太贵了,所以忽略)。
1.2 升级CentOS系统
放弃CentOS6.5系统,并将之前使用的阿里云主机CentOS7.0升级为CentOS7.1。
详细操作见文章:《2015博客升级记(一):安装CentOS7后需要的操作》。
1.3 购买数据盘并划分交换空间
这次升级还买了一块24G大小的数据盘,划分了4G大小作为系统的交换空间,剩余的20G作为备份仓库用于数据库、程序等。
详见文章:《2015博客升级记(二):Linux系统磁盘分区挂载和交换空间》。
2、升级WEB环境(LNMP)
在升级完CentOS7.1系统后,就开始升级LNMP环境了。之前博客采用的是《阿里云CentOS 6.5搭建LNMP环境(非一键脚本)》文中提到的yum方法安装Nginx、Mysql和PHP。鉴于这种方法安装的版本都比较低,不是自己想要的版本,所以这次升级采用了源码编译的方式重新搭建LNMP环境(Nginx1.9.0、MySql5.7.7rc和PHP7)。
2.1 将Nginx1.6升级到最新的Nginx1.9.0版本
采用Nginx1.9.0版本,开启stream module
模块用于TCP代理和负载均衡。
详见文章:《2015博客升级记(三):CentOS 7.1编译安装Nginx1.9.0》。
2.2 将MySql5.1升级到最新的MySql5.7.7rc版本
升级到MySQL官方最新的milestone版本,提升数据库性能。
详见文章:《2015博客升级记(四):CentOS 7.1编译安装MySQL5.7.7rc》。
2.3 将PHP5.3升级到最新的PHP7版本
“亚一程”鸟哥@Laruence的作品,值得推荐使用!
详见文章:《2015博客升级记(五):CentOS 7.1编译安装PHP7》。
2.4 配置SSL和SPDY,全站使用https协议访问
博客之前采用http协议访问,中间一段时间换成了https,后来由于博客的图片等资源无法使用https访问,所以又关闭了。这次升级还是决定将全站采用https协议访问,同时将Nginx和PHP的TCP通信改用Google开发的SPDY技术(虽然Google很可能使用新一代的http2技术取代)。
详见文章:《2015博客升级记(六):Nginx配置HTTPS和SPDY实战》。
2.5 MySql的shell定时备份脚本
有了20G的数据盘仓库,就可以将博客的MySql数据库定时备份下来。
详见文章:《2015博客升级记(七):CentOS7定时备份MySql的shell脚本》。
2.6 博客程序的shell定时备份脚本
有了20G的数据盘仓库,就可以将Typecho博客的程序定时备份下来。
详见文章:《2015博客升级记(八):CentOS7定时备份博客程序的shell脚本》。
3、其它
在编译安装MySql5.7.7rc之前,还折腾过MySql其它版本,在这里一并记录分享下。
3.1 CentOS7编译安装MySql5.6.24
作为MySql官方Generally Available (GA) Releases版本——MySql5.6.24在tar包源码编译安装后,只要root用户使用命令mysql -uroot -p
登陆,就会出现Segmentation fault
的BUG。
具体解决方法,详见文章:《阿里云CentOS 7.1编译安装MySql5.6.24》。
3.2 CentOS7采用yum方法安装MySql5.6.24
到Mysql官方下载社区版Mysql的rpm包,然后使用yum方法安装。
详细操作,见文章:《阿里云CentOS 7.1使用yum安装MySql5.6.24》。
Comments »