php 网站搬家

#
# 原服务器
#
tar -cvf /home/wwwroot/lellansin.com    # 网站打包
mysqldump -u 用户名 -p 数据库 > 数据库.sql # mysql 数据备份
mv 文件 /home/wwwroot/lellansin.com/secret/

#
# 新服务器
#
wget http://lellansin.com/secret/文件  # 直接通过 http 在服务端下载
mysql -u root -p                       # 输入密码后进入 mysql 客户端
CREATE DATABASE `mydb` CHARACTER SET utf8 COLLATE utf8_general_ci; # 创建一个名为 mydb 的数据库
exit                                   # 退出 mysql
mysql -u 用户名 -p 数据库 < 数据库.sql # mysql 数据导入
tar -zxvf lellansin.com.tar.gz         # 解压网站之后移动到相应目录

# 如果担心时间比较久可以使用 nohup 命令, 例如
nohup tar -zxvf lellansin.com.tar.gz &

/home/wwwroot/lellansin.com/secret/ 中的 secret 是你自己定义的一个目录名称,可以把打包好的文件放在此处,让新服务器可以通过 wget 命令来直接下载,这样的好处是不用费时费力去搞 ftp。也不用蛋疼的先把备份下载到本地然后再上传到新服务器。(博主的两台服务器都在美国,试了一下,发现美国的下载速度果然非常快,峰值可以到 4M/s 平均快到 2M/s 了)

一般的 ssh 都有超时时间,如果担心命令执行时间过长导致 session 超时然后命令不得不被迫中断的话,可以使用 nohup 命令,该命令可以使得执行的命令脱离终端,即使关掉 ssh 客户端,服务器上依旧能继续执行。

要测试网站是否成功搬好,并且’无痛’搬家的话可以考虑使用本地解析, 通过修改 C:WindowsSystem32driversetchosts 文件来实现,添加:

// 形如
xxx.xx.xx.xxx    你的域名
// 例如
192.157.208.25   lellansin.com

在 hosts 文件中添加记录之后,那么本地就会解析域名到新服务器的地址。这个时候再用浏览器使用该域名访问的就是新服务器上的网站了。你可以看看新服务器上的网站是否有问题,没问题的话,就可以上域名服务商的网站修改域名解析了。

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s