這段時間對博客進行了一次升級,主要是從博客程序所在的系統服務器(CentOS)和WEB環境(LNMP)入手。目前本身的Linux服務器已經升級到CentOS7.1,同時LNMP環境也升級到了最新的版本。下面是整個升級過程的詳細整理,記錄一下方便之後查看。html

2015博客升級記

一、升級系統服務器(CentOS)

2012年的時候,博客當時使用的域名是huangkeye.com,託管在一朋友@包子的 國外虛擬空間上。後來在2013年的時候,因爲新網域名續費太貴,因此棄用並從新申請了huangkeye.cn的域名,並將博客備案託管到了國內的虛擬 主機上。虛擬主機都有兩個弊端:首先是一臺主機對應一個IP地址,而後兩三百個域名都會解析到這臺服務器上;其次,虛擬主機的性能、帶寬、安全等都會受到 這臺主機上其它鄰居(即虛擬主機)的影響。因而在2013年7月份,我又從新購買了如今用的這個域名——typecodes.com,並將huangkeye.cn作301跳轉到這個域名上來。同時將博客託管在阿里雲服務器上。mysql

1.1 升級系統內存

以前買的阿里雲主機是單核、512M內存,如今阿里雲深圳地域的主機正在作「限時優惠15%」的活動。看了下配置和相應的價格,因而將內存升級到了1G(單核升級到雙核的價格太貴了,因此忽略)。linux

1.2 升級CentOS系統

放棄CentOS6.5系統,並將以前使用的阿里雲主機CentOS7.0升級爲CentOS7.1。nginx

詳細操做見文章:《2015博客升級記(一):安裝CentOS7後須要的操做》web

1.3 購買數據盤並劃分交換空間

此次升級還買了一塊24G大小的數據盤,劃分了4G大小做爲系統的交換空間,剩餘的20G做爲備份倉庫用於數據庫、程序等。sql

詳見文章:《2015博客升級記(二):Linux系統磁盤分區掛載和交換空間》shell

二、升級WEB環境(LNMP)

在升級完CentOS7.1系統後,就開始升級LNMP環境了。以前博客採用的是《阿里雲CentOS 6.5搭建LNMP環境(非一鍵腳本)》文中提到的yum方法安裝Nginx、Mysql和PHP。鑑於這種方法安裝的版本都比較低,不是本身想要的版本,因此此次升級採用了源碼編譯的方式從新搭建LNMP環境(Nginx1.9.0、MySql5.7.7rc和PHP7)。數據庫

升級LNMP環境

2.1 將Nginx1.6升級到最新的Nginx1.9.0版本

採用Nginx1.9.0版本,開啓stream module模塊用於TCP代理和負載均衡。centos

詳見文章:《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實戰》

配置SSL和SPDY

2.5 MySql的shell定時備份腳本

有了20G的數據盤倉庫,就能夠將博客的MySql數據庫定時備份下來。

詳見文章:《2015博客升級記(七):CentOS7定時備份MySql的shell腳本》

2.6 博客程序的shell定時備份腳本

有了20G的數據盤倉庫,就能夠將Typecho博客的程序定時備份下來。

詳見文章:《2015博客升級記(八):CentOS7定時備份博客程序的shell腳本》

三、其它

在編譯安裝MySql5.7.7rc以前,還折騰過MySql其它版本,在這裏一併記錄分享下。

升級MySql5.7

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》