linux環(huán)境下大數(shù)據(jù)網(wǎng)站搬家教程
這里說的大數(shù)據(jù)是指你的網(wǎng)站數(shù)據(jù)庫大小至少超過了500M,當(dāng)然只有50M的網(wǎng)站也同樣可以用這樣的方法來輕松安全的實現(xiàn)網(wǎng)站搬家,前提是你使用的是linux環(huán)境下的VPS或者獨立服務(wù)器。
我們假設(shè)你的網(wǎng)站域名為www.jqueryba.com,目前放置在A服務(wù)器上,我們的目標(biāo)是把網(wǎng)站整體遷移到B服務(wù)器上。
對于A服務(wù)器的操作,我們主要有備份網(wǎng)站文件和數(shù)據(jù)庫兩個環(huán)節(jié),在進行備份之前請先關(guān)閉你的網(wǎng)站,以免在數(shù)據(jù)備份過程中造成數(shù)據(jù)丟失。
一、備份網(wǎng)站文件
假設(shè)我們的網(wǎng)站文件存放路徑為 /home/wwwroot/jqueryba
也就是說jqueryba這個文件夾下就是我們存放的所有網(wǎng)頁文件,包括附件。
我們現(xiàn)在先將這個文件夾打包。
1、登陸到服務(wù)器以后先進入到j(luò)queryba的上級目錄:cd /home/wwwroot
2、執(zhí)行打包命令:tar cf jqueryba.tar jqueryba /* 把jqueryba目錄打包為jqueryba.tar文件 */
你也可以打包為壓縮率更高的.gz文件:tar cfz jqueryba.tar.gz jqueryba /* 把jqueryba目錄打包且壓縮為jqueryba.tar.gz文件,因為.tar文件幾乎是沒有壓縮過的,MT的.tar.gz文件解壓成.tar 文件后差不多是10MB */
打包以后生產(chǎn)的壓縮文件會存放在 /home/wwwroot目錄下面
如果你的附件很多,那么這個打包的過程會比較耗費時間,這個根據(jù)服務(wù)器性能不同,實際耗費時間也不同.
二、備份數(shù)據(jù)庫
如果你的數(shù)據(jù)庫有超過500M,那么你用phpmyadmin之類的工具導(dǎo)出來是不現(xiàn)實的,而且你到時候還要導(dǎo)入進去,又很麻煩,所以數(shù)據(jù)庫大了的時候就要盡量避免使用這種方法,而且最好不要通過備份到本地再上傳到服務(wù)器,這個過程也可能會帶來未知的錯誤,最重要的是非常耗時。在linux環(huán)境下,幾行簡單的命令就可以搞定數(shù)據(jù)庫的導(dǎo)入或者到處。
1、導(dǎo)出數(shù)據(jù)庫,登陸服務(wù)器以后,執(zhí)行命令:/usr/local/mysql/bin/mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 >jqueryba.sql
說明: 執(zhí)行這行命令以后,系統(tǒng)會提示你輸入數(shù)據(jù)庫密碼,這個密碼一定是你之前輸入的用戶名的密碼,確保這個用戶有對該數(shù)據(jù)庫的所有權(quán)限。后面的 phpwind.sql是對備份出來的SQL文件的命名,導(dǎo)出位置是你執(zhí)行命令時所在的文件夾,你也可以在前面加上路徑備份到你想防止的文件夾,比如可以寫為:/usr/local/mysql/bin/mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 >/home/wwwroot/jqueryba.sql
這兩步完成以后,A服務(wù)器上的工作就基本完畢了,剩下的就是在B服務(wù)器上操作了。
B服務(wù)器確定已經(jīng)配置好網(wǎng)站所需要的所有環(huán)境。
一、下載網(wǎng)站文件和數(shù)據(jù)庫到服務(wù)器上。
我們不把備份下載到本地是為了避免再次上傳的麻煩,通過服務(wù)器之間的互傳,速度快不說,也簡單省事。
1、登陸到B服務(wù)器上,假設(shè)我們要存放網(wǎng)站文件的文件夾依然為/home/wwwroot,執(zhí)行cd /home/wwwroot進入到該文件夾。
2、下載文件和數(shù)據(jù)庫。假設(shè)A服務(wù)器分配的IP地址為1.1.1.1,那么這個IP一般情況下就是綁定到/home/wwwroot這個文件夾上的,我們可以通過這個IP直接訪問到這個文件夾就可以。如果你不確定,你可以把A服務(wù)器上我們備份的網(wǎng)站文件jqueryba.tar和數(shù)據(jù)庫文件 jqueryba.sql移動到/home/wwwroot/jqueryba目錄下,這樣我們就可以直接用www.jqueryba.com /jqueryba.tar或者www.jqueryba.com/jqueryba.sql訪問到這兩個文件,確定好訪問地址以后執(zhí)行命令:
wget http://1.1.1.1/jqueryba.tar /*下載網(wǎng)頁文件壓縮包*/
下載完畢以后,繼續(xù)執(zhí)行:
wget http://1.1.1.1/jqueryba.sql /*下載數(shù)據(jù)庫文件*/
一般服務(wù)器互傳的速度都是按M/S算的,很快就可以完成下載。
二、解壓網(wǎng)頁文件壓縮包
1、執(zhí)行命令:tar xvf jqueryba.tar
如果你是壓縮為.gz格式,先執(zhí)行g(shù)zip -d jqueryba.tar.gz 講.gz解壓為tar,再執(zhí)行上面的命令繼續(xù)解壓。
解壓以后,在/home/wwwroot目錄下就會看到一個jqueryba文件夾,那里面就是我們的網(wǎng)站文件了。
三、數(shù)據(jù)庫導(dǎo)入
在導(dǎo)入數(shù)據(jù)庫之前,我們需要先通過phpmyadmin建立一個數(shù)據(jù)表,并添加該表的所有者,最好和在A服務(wù)器上的信息保持一致,這樣就可以不用去修改網(wǎng)頁文件的配置文件,導(dǎo)入數(shù)據(jù)庫以后就可以正常訪問了。
1、執(zhí)行命令:/usr/local/mysql/bin/mysql -u用戶名 -p密碼 -h主機 數(shù)據(jù)庫 < 路徑
說明:這里的主機是指數(shù)據(jù)庫的主機,一般我們沒有開啟遠程數(shù)據(jù)庫功能,都是本地主機,即localhost。路徑是指我們存放的sql路徑,按照我們上面的操作,那么這里的路徑就是/home/wwwroot/jqueryba.sql。執(zhí)行上述命令以后,數(shù)據(jù)庫就會開始導(dǎo)入到我們制定的數(shù)據(jù)表中,這個過程不會有什么提示,等待完成即可。
完成以上操作以后,你還需要做兩件事情,第一件事是在新的服務(wù)器上創(chuàng)建新的網(wǎng)站配置文件,綁定域名,指定訪問文件夾,因為不同服務(wù)器配置實現(xiàn)的方式不一樣,所以這里就不講這部分操作了。第二件事是解析域名,坐等域名生效,如果A服務(wù)器和B服務(wù)器使用的數(shù)據(jù)庫信息是一樣的,那么域名生效以后,你的網(wǎng)站就可以正常訪問了。
如果出現(xiàn)了文件權(quán)限的問題,可以通過chmod來賦予文件權(quán)限。
比如我們要對/home/wwwroot/jqueryba全部文件愛你賦予777權(quán)限
可以執(zhí)行:chmod -R 777 /home/wwwroot/jqueryba/