2014年6月份的時候,我把博客從主機屋搬到了萬網(wǎng),當時在萬網(wǎng)選的是輕云服務(wù)器,當時的搬家過程可閱讀《博客搬家、zblog php升級過程實錄》這篇文章。后來,由于一些其他的需要,上個月又在阿里云買了個ECS云服務(wù)器,這段時間在ECS上裝了很多用來折騰的玩意,思來想去,感覺完全沒必要同時有兩個主機,又考慮到輕云服務(wù)器實在是限制太大了,不可以自己胡亂折騰,所以今天又把網(wǎng)站從萬網(wǎng)搬到了阿里云ECS,這篇文章就是記錄下這個搬家的過程。
1、備份網(wǎng)站數(shù)據(jù)
把現(xiàn)用的網(wǎng)站程序及數(shù)據(jù)文件完全備份下來,由于建站程序用的是ZBlog,可以直接從網(wǎng)上去下載,程序就沒必要備份了,后面直接采用全新安裝的形式安裝下程序。所以,我就從現(xiàn)有網(wǎng)站備份了一些需要的文件,比如主題文件、upload上傳文件、插件,以及其他的一些文件。備份好服務(wù)器上的數(shù)據(jù)以后,下面?zhèn)浞輸?shù)據(jù)庫中的數(shù)據(jù),如下圖1所示。
圖1:使用HeidiSQL導出數(shù)據(jù)腳本
網(wǎng)站用的是MySQL數(shù)據(jù)庫,我用的MySQL管理工具是HeidiSQL,使用HeidiSQL登錄進數(shù)據(jù)庫以后,鼠標右鍵數(shù)據(jù)庫名,在彈出菜單中選擇“到出數(shù)據(jù)腳本”,出現(xiàn)如下圖2所示的界面。
圖2:SQL導出選擇設(shè)置
如上圖2所示,我沒有勾選“數(shù)據(jù)庫”和“表”的“創(chuàng)建”,只是選擇了“數(shù)據(jù)”為“DELETE+INSERT(truncate existing data)”,“輸出”默認為“Single .sql file”,然后自定義個“文件名”,然后點擊“導出”。之所以,我沒有勾選“數(shù)據(jù)庫”和“表”,是因為我打算全新安裝zblog,所以這些表它都會自動安裝上去,對于數(shù)據(jù)庫,我不想再用原來的數(shù)據(jù)庫名了,打算建一個名為zbp的數(shù)據(jù)庫,所以這里都不勾選。但是,如果你不知道怎么創(chuàng)建一個數(shù)據(jù)庫的話,建議還是把“數(shù)據(jù)庫”的“創(chuàng)建”勾上,這樣導出的時候,導出文件中會有一個創(chuàng)建數(shù)據(jù)庫的腳本,并且創(chuàng)建的是跟現(xiàn)有數(shù)據(jù)庫的配置完全一樣,自己再建數(shù)據(jù)庫的時候,使用這個腳本可以避免出錯,不過要注意改掉數(shù)據(jù)庫名,比如我這里就改成了zbp,腳本如下:
CREATE DATABASE IF NOT EXISTS `zbp` /*!40100 DEFAULT CHARACTER SET utf8 */;USE `zbp`;
好了,到這里,所以的備份結(jié)束了。
2、在云服務(wù)器上搭建PHP、MySQL建站環(huán)境
以前我自己搭建過PHP、MySQL、Apache的建站環(huán)境,需要手工去配置一些東西,有點麻煩,個人感覺沒什么太大必要,可以直接下載一些非常完善的集成工具來一鍵安裝,我推薦使用到是WAMP,可以去百度中搜索下載。
圖3:使用WAMP快速搭建PHP、MySQL、Apache建站環(huán)境
如上圖3,使用WAMP快速搭建了建站環(huán)境。啟動下所有所有,在瀏覽器中輸入試試看,看看安裝成功了沒有。
3、安裝網(wǎng)站程序并轉(zhuǎn)移數(shù)據(jù)文件
安裝好Wamp以后,使用HeidiSQL連接到數(shù)據(jù)庫服務(wù)器,然后運行上面的那段創(chuàng)建數(shù)據(jù)庫的代碼創(chuàng)建一個zbp數(shù)據(jù)庫,代碼再復制過來下:
CREATE DATABASE IF NOT EXISTS `zbp` /*!40100 DEFAULT CHARACTER SET utf8 */;USE `zbp`;
創(chuàng)建好zbp數(shù)據(jù)庫以后,下面,到zblog官網(wǎng)下載最新的zbp程序,將程序解壓縮到wamp安裝目錄的www下,然后打開瀏覽器,輸入localhost進行安裝,安裝數(shù)據(jù)庫選擇前面建的zbp。補充下,wamp安裝的時候,默認的mysql的登錄密碼是空,可以先改下密碼(可以直接用wamp自帶安裝的phpmyadmin去修改下),這樣一個全新的網(wǎng)站就安裝好了。
下面,先將第一步中備份好的FTP上的數(shù)據(jù)文件復制到新的網(wǎng)站程序中作為新增或者覆蓋,然后再開始數(shù)據(jù)庫的還原,如下圖4。
圖4:在查詢編輯器中加載SQL文件導入備份數(shù)據(jù)
如上圖4,加載前面?zhèn)浞莸腟QL文件到查詢編輯器中,加載完以后,運行下,數(shù)據(jù)就被插入到zbp數(shù)據(jù)庫中,由于前面?zhèn)浞莸臄?shù)據(jù)包括delete和insert兩種代碼,所以不需要手工清除掉全新安裝時往數(shù)據(jù)庫中插入的數(shù)據(jù),程序會自動清除。
下面我們再在瀏覽器中輸入,如果發(fā)現(xiàn)現(xiàn)在訪問到的網(wǎng)站,其樣式、內(nèi)容都和原來的網(wǎng)站一樣的時候,就說明我們搬家成功了,下面我們需要做的就是想辦法把這個網(wǎng)站發(fā)布出去,讓廣域網(wǎng)中的人也可以訪問到。
4、域名解析與綁定
在域名商那里解析下域名到現(xiàn)在這個服務(wù)器所在的IP,建議先別直接把原來在用的域名解析過來,比如,將yedward.net解析到該IP。僅僅只是解析了以后,然后在瀏覽器中輸入yedward.net,可能會出現(xiàn)“403禁止訪問”的錯誤提示。這個時候,找到apache服務(wù)器下的httpd.conf文件,路徑如下圖5所示。
圖5:找到httpd.conf文件
打開httpd.conf文件,找到如下圖6所指的位置,默認的是Deny from all,把這里改成Allow from all,然后重啟下wamp服務(wù)器,再在瀏覽器中輸入域名訪問下,比如yedward.net,這個時候就發(fā)現(xiàn)可以正常訪問了,不會報403錯誤了。
圖6:設(shè)置Allow from all
5、一些小問題的處理
通過上面幾步的操作,其實搬家已經(jīng)基本成功了,下面還有幾個小地方需要設(shè)置下,比如當你直接訪問一個文件目錄的時候,你會發(fā)現(xiàn)返回了一個文件目錄樹,而不是403禁止訪問;當你訪問一個不存在的鏈接的時候,你會發(fā)現(xiàn)并沒有返回你自定義的404頁面。這兩個地方需要改一下,方法如下。
圖7:404錯誤頁面設(shè)置
同樣的,找到apache的httpd.conf文件,先來設(shè)置下404錯誤頁面。如上圖7所示,默認的ErrorDocument前面有個#號,把#號去掉表示啟用404,然后輸入下自己存放的404頁面的位置即可。
圖8:設(shè)置Options Indexes
至于返回一個文件目錄的問題,也是在httpd.conf中設(shè)置,如上圖8所示,默認的Options Indexes后面是Indexes FollowSymLinks,把其中的Indexes去掉,只保留FollowSymLinks。然后重啟wamp服務(wù)器,再次做一些測試,發(fā)現(xiàn)問題得到了解決。
以上就是我這次搬家的整個過程,放到ECS云服務(wù)器上跟放到虛擬主機上最大的不同就是你需要自己搭建各種環(huán)境,安裝各種需要的軟件,也需要做一些必要的設(shè)置,可能會稍微麻煩一點,有一點難度,不適合不太懂計算機的小伙伴。
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!