【转载】-Linux环境下大数据网站搬家教程

这两天忙着做网站,然后申请了香港的VPS,速度果然完全不一样了。响应从170ms左右到了50ms左右。然后又听朋友说刚一开始根本没必要一台VPS只跑一个网站,有了流量再升级或者搬家就可以。于是还是决定将网站从东京搬到香港来。

因为还有别的站,所以不能再像之前那样只管WP了。WP的搬站确实要简单一些,但是正常的搬家也不是很复杂。反正有百度嘛。

—————–转载正文————-

这里说的大数据是指你的网站数据库大小至少超过了500M,当然只有50M的网站也同样可以用这样的方法来轻松安全的实现网站搬家,前提是你使用的是linux环境下的VPS或者独立服务器。

我们假设你的网站域名为www.jqueryba.com,目前放置在A服务器上,我们的目标是把网站整体迁移到B服务器上。

对于A服务器的操作,我们主要有备份网站文件和数据库两个环节,在进行备份之前请先关闭你的网站,以免在数据备份过程中造成数据丢失。

一、备份网站文件

假设我们的网站文件存放路径为 /home/wwwroot/jqueryba

也就是说jqueryba这个文件夹下就是我们存放的所有网页文件,包括附件。

我们现在先将这个文件夹打包。

1、登陆到服务器以后先进入到jqueryba的上级目录:cd /home/wwwroot

2、执行打包命令: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 */

打包以后生产的压缩文件会存放在 /home/wwwroot目录下面

如果你的附件很多,那么这个打包的过程会比较耗费时间,这个根据服务器性能不同,实际耗费时间也不同.

二、备份数据库如果你的数据库有超过500M,那么你用phpmyadmin之类的工具导出来是不现实的,而且你到时候还要导入进去,又很麻烦,所以数据库大了的时候就要尽量避免使用这种方法,而且最好不要通过备份到本地再上传到服务器,这个过程也可能会带来未知的错误,最重要的是非常耗时。在linux环境下,几行简单的命令就可以搞定数据库的导入或者到处。

1、导出数据库,登陆服务器以后,执行命令:/usr/local/mysql/bin/mysqldump -u 用户名 -p 数据库名 >jqueryba.sql说明: 执行这行命令以后,系统会提示你输入数据库密码,这个密码一定是你之前输入的用户名的密码,确保这个用户有对该数据库的所有权限。后面的phpwind.sql是对备份出来的SQL文件的命名,导出位置是你执行命令时所在的文件夹,你也可以在前面加上路径备份到你想防止的文件夹,比如可以写为:/usr/local/mysql/bin/mysqldump -u 用户名 -p 数据库名 >/home/wwwroot/jqueryba.sql

这两步完成以后,A服务器上的工作就基本完毕了,剩下的就是在B服务器上操作了。B服务器确定已经配置好网站所需要的所有环境。

一、下载网站文件和数据库到服务器上。

我们不把备份下载到本地是为了避免再次上传的麻烦,通过服务器之间的互传,速度快不说,也简单省事。

1、登陆到B服务器上,假设我们要存放网站文件的文件夹依然为/home/wwwroot,执行cd /home/wwwroot进入到该文件夹。

2、下载文件和数据库。假设A服务器分配的IP地址为1.1.1.1,那么这个IP一般情况下就是绑定到/home/wwwroot这个文件夹上的,我们可以通过这个IP直接访问到这个文件夹就可以。如果你不确定,你可以把A服务器上我们备份的网站文件jqueryba.tar和数据库文件jqueryba.sql移动到/home/wwwroot/jqueryba目录下,这样我们就可以直接用www.jqueryba.com/jqueryba.tar或者www.jqueryba.com/jqueryba.sql访问到这两个文件,确定好访问地址以后执行命令:

wget http://1.1.1.1/jqueryba.tar /*下载网页文件压缩包*/

下载完毕以后,继续执行:

wget http://1.1.1.1/jqueryba.sql /*下载数据库文件*/

一般服务器互传的速度都是按M/S算的,很快就可以完成下载。

二、解压网页文件压缩包

1、执行命令:tar xvf jqueryba.tar

如果你是压缩为.gz格式,先执行gzip -d jqueryba.tar.gz 讲.gz解压为tar,再执行上面的命令继续解压。

解压以后,在/home/wwwroot目录下就会看到一个jqueryba文件夹,那里面就是我们的网站文件了。

三、数据库导入

在导入数据库之前,我们需要先通过phpmyadmin建立一个数据表,并添加该表的所有者,最好和在A服务器上的信息保持一致,这样就可以不用去修改网页文件的配置文件,导入数据库以后就可以正常访问了。

1、执行命令:/usr/local/mysql/bin/mysql -u用户名 -p密码 -h主机 数据库<路径

说明:这里的主机是指数据库的主机,一般我们没有开启远程数据库功能,都是本地主机,即localhost。路径是指我们存放的sql路径,按照我们上面的操作,那么这里的路径就是/home/wwwroot/jqueryba.sql。执行上述命令以后,数据库就会开始导入到我们制定的数据表中,这个过程不会有什么提示,等待完成即可。

完成以上操作以后,你还需要做两件事情,第一件事是在新的服务器上创建新的网站配置文件,绑定域名,指定访问文件夹,因为不同服务器配置实现的方式不一样,所以这里就不讲这部分操作了。第二件事是解析域名,坐等域名生效,如果A服务器和B服务器使用的数据库信息是一样的,那么域名生效以后,你的网站就可以正常访问了。

如果出现了文件权限的问题,可以通过chmod来赋予文件权限。

比如我们要对/home/wwwroot/jqueryba全部文件爱你赋予777权限

可以执行:chmod -R 777 /home/wwwroot/jqueryba/

发表评论

电子邮件地址不会被公开。 必填项已用*标注