一個客戶的美國vps因為特殊原因不能繼續(xù)使用了,掛在其上基于LAMP環(huán)境的magento網(wǎng)站需要遷移到新的VPS上,本文就magento程序的特殊性,記錄一下新環(huán)境的快速搭建以及遷移magento網(wǎng)站。新VPS系統(tǒng)是centos 5 32bit,以下操作都是基于此。
首先為新VPS快速搭建運行magento程序必須的LAMP環(huán)境,首先安裝:
# wget -c http://dl.wdlinux.cn:5180/lanmp_v20.tar.gz
# tar zxvf lanmp_v20.tar.gz
#sh in.sh (選擇1回車:apache + php + mysql + zend + eAccelerator + pureftpd + phpmyadmin)
安裝pdo_mysql擴展(magento必須)
# wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
# tar zxvf PDO_MYSQL-1.0.2.tgz
# cd PDO_MYSQL-1.0.2
# /www/wdlinux/php/bin/phpize
# ./configure --with-php-config=/www/wdlinux/php/bin/php-config --with-pdo-mysql=/www/wdlinux/mysql
# make && make install
#echo "extension=pdo_mysql.so">>/www/wdlinux/etc/php.ini
#service httpd restart (重啟apache使擴展生效)
# /www/wdlinux/php/bin/php -m (通過此命令可以看到php所加載的擴展,包括pdo_mysql,有問題可以根據(jù)提示進(jìn)行修改,比如路徑錯誤導(dǎo)致找不到,則建立正確的擴展路徑,錯誤修改后再次執(zhí)行上一條命令使擴展生效。)
lanmp_v20.tar.gz已經(jīng)配置集成了rewrite規(guī)則與innodb存儲引擎的配置信息,方便了部署,所以快速完成環(huán)境搭建之后就可以開始遷移magento網(wǎng)站:
1. 在新的VPS上建立與舊VPS一樣的網(wǎng)站配置(網(wǎng)站、數(shù)據(jù)庫、配置文件)
2. 將舊VPS與新VPS的mysql數(shù)據(jù)庫停用,在舊VPS上打包mysql數(shù)據(jù)庫:mysqldump -h localhost -uroot -p magento > /root/magento_db.sql
3. 采用最直接省事的scp工具進(jìn)行遷移,因為舊VPS的ssh默認(rèn)端口被我修改為2222,所以命令有所改變,先遷移網(wǎng)站:scp -r -P 2222 root@8.8.8.8:/www/web/magento/public_html/ /www/web/magento/public_html/
4. 再遷移數(shù)據(jù)庫:scp -r -P 2222 root@8.8.8.8:/root/magento_db.sql /root/
5. 將數(shù)據(jù)庫導(dǎo)入:mysql -h localhost -uroot -p magento < /root/magento_db.sql (之前測試過直接打包數(shù)據(jù)庫遷移過來解壓縮到數(shù)據(jù)庫存儲目錄不成功,只能如此)
6. 啟動新VPS上的mysql服務(wù),將域名解析到新VPS,解析生效后測試網(wǎng)站是否正常
遷移后的提醒:
· 遷移網(wǎng)站后如果無法正常訪問,而是跳轉(zhuǎn)到默認(rèn)模板之類的情況發(fā)生,將網(wǎng)站的errors目錄下的local.xml.sample修改為local.xml,刷新后就可以看到出錯提示。
· 網(wǎng)站使用了rewrite,但是打開產(chǎn)品頁面卻跳轉(zhuǎn)404頁面,那么就手動將magento的.htaccess傳到網(wǎng)站根目錄。