報道公司事件 · 傳播行業動態
如果你變更了主機,或者保持開發和線上獨立,你需要進行網站遷移。這是一個線下工作,或許僅僅是一個檢查列表,你需要根據你的需要和服務器環境作出相應的調整。下面我就為大家分享一下我網站遷移的經驗,希望對大家有所幫助。
一、選用空間商
前期準備選用西部數碼的虛擬空間,上傳代碼和數據庫花費不少時間,結果發現綁定域名數量有限,且域名不能映射到指定的目錄,在數據同步這一塊有很多瓶頸,最后左思右想還是選擇國外比較好的空間商godaddy。
二、數據導入
fa68的數據有將近達到一個G,雖然godaddy的phpmyadmin提供了可上傳1G的文件,但考慮到網頁上傳速度太慢,且有可能網絡中斷,然后通過遠程客戶端native連接的方式導入執行sql,通過一個多小時的導入過程,發現native提示300多條錯誤,只有部分表導入成功,提示錯誤為MySQL server has gone away,可能是DB連接超時,以及數據導出的mysql版本和導入的版本有沖突,所以被迫取消這種方式。最后無意中在Godaddy cPanel上看到SSH功能,那就好辦了,登錄舊服務器通過SCP命令將文件遠程同步到現在新的服務器上,其實到這一步剩下的事情應該是很簡單了,但我鬼使神差的使用了mysqldump命令去導入sql文件到數據庫(如:mysqldump -uusername -ppwd -hlocalhost -P3306 fa68 < fa68_20140906.sql 導入),結果每次執行都已失敗告終,最后查閱了資料才發現命令使用錯誤,正常導入sql文件的命令是:mysql -uusename -ppwd -hlocalhost -P3306 fa68 < fa68_20140906.sql,多么低級的錯誤,連我自己都不能饒恕自己了。
三、URL重寫
因為在購買之前是確認過godaddy支持rewrite功能,原本以為只要代碼上傳上去,修改下某些配置,就能跑起來了,但世事難料,訪問偽靜態頁面的時候報:No input file specified,也就是404錯誤頁面,最后通過各種方法排查出:是godaddy php沒有識別出pathinfo導致的,因為godaddy使用的是Fastcgi模式,php不支持目標網址的pathinfo解析,既然找到問題那就好辦了,修改網址根目錄下的.htaccess文件中的這句 RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] 改為 RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L],到此完美解決網站訪問問題。
四、服務器配置
因前期沒有對網站訪問統計數據進行過分析評估,首次買的godaddy配置是Resource Level 1,是最基本的配置了,配置大概如下:CPU 1個、Physical Memory 512M、進程100個,結果網站一上線,導致大量的php crash,php主進程重啟,CPU達到100%,內存崩潰,導致新注冊用戶、發的廣告信息數據大量丟失,一看QQ已經有很多頭像在閃動,知道為什么很多嗎?因為全部都是網站用戶來投訴了,后臺監控中心告急,最后配置升級到Resource Level 2,各種配置參數翻倍,該問題得到解決。
在網站遷移過程中遇到問題是避不可免的,在做之前一定要考慮清楚,細心細心再細心,就不會出現這些問題了。