【转载】linux环境下大数据网站搬家
这里说的大数据是指你的网站数据库大小至少超过了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/