【转载】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/
【转载】linux环境下大数据网站搬家的更多相关文章
- [转载]Linux 环境下编译 0.11版本内核 kernel
		
最近在看<.如果Clobber/Modify 为空,则其前面的冒号(:)必须省略. 2.如果Output,Input,Clobber/Modify都为空,Output,Input之前的冒号(:) ...
 - 【云和恩墨】性能优化:Linux环境下合理配置大内存页(HugePage)
		
原创 2016-09-12 熊军 [云和恩墨]性能优化:Linux环境下合理配置大内存页(HugePage) 熊军(老熊) 云和恩墨西区总经理 Oracle ACED,ACOUG核心会员 PC S ...
 - 【转载】linux环境下tcpdump源代码分析
		
linux环境下tcpdump源代码分析 原文时间 2013-10-11 13:13:02 CSDN博客 原文链接 http://blog.csdn.net/han_dawei/article/d ...
 - 通过Hadoop安全部署经验总结,开发出以下十大建议,以确保大型和复杂多样环境下的数据信息安全。
		
通过Hadoop安全部署经验总结,开发出以下十大建议,以确保大型和复杂多样环境下的数据信息安全. 1.先下手为强!在规划部署阶段就确定数据的隐私保护策略,最好是在将数据放入到Hadoop之前就确定好保 ...
 - Linux环境下使用JFS文件系统
		
Linux环境下使用JFS文件系统 JFS是IBM公司为linux系统开发的一个日志文件系统.从IBM的实力及它对Linux的态度来看,JFS应该是未来日志文件系统中最具实力的一个文件系统. JFS提 ...
 - 【ARM-Linux开发】Linux环境下使用eclipse开发C++动态链接库程序
		
Linux环境下使用eclipse开发C++动态链接库程序 Linux中也有类似windows中DLL的变成方法,只不过名称不同而已.在Linux中,动态链接叫做Standard Object,生成的 ...
 - Linux环境下段错误的产生原因及调试方法小结
		
转载自http://www.cnblogs.com/panfeng412/archive/2011/11/06/2237857.html 最近在Linux环境下做C语言项目,由于是在一个原有项目基础之 ...
 - 【转】【调试技巧】Linux环境下段错误的产生原因及调试方法小结
		
本文转自:http://www.cnblogs.com/panfeng412/archive/2011/11/06/segmentation-fault-in-linux.html 1. 段错误是什么 ...
 - mosquitto在Linux环境下的部署/安装/使用/测试
		
mosquitto在Linux环境下的部署 看了有三四天的的源码,(当然没怎么好好看了),突然发现对mosquitto的源码有了一点点感觉,于是在第五天决定在Linux环境下部署mosquitto. ...
 
随机推荐
- 【http反向代理】多个域名指向同一个ip的不同网站解决方法
			
一个服务器需要挂载多个项目[重点是都能通过域名访问] 实现原理: 1.当前市面上看到的一些服务器,开放的端口一般都要求为 '80' 端口 所以80端口成了商用端口 2.域名的绑定是绑定一个一般是绑定你 ...
 - Django REST framework - 解析器和渲染器
			
目录 Django REST framework - 解析器和渲染器 解析器 Django中的数据解析 DRF中的解析器 渲染器 Django REST framework - 解析器和渲染器 解析器 ...
 - JavaScript单元测试工具-Jest
			
标注: 首先这并不是一篇完整的关于Jest的教程,只是个人在接触jest学习的一点随手笔记,大部分内容都是对官方文档的一些翻译. ----------------------------------- ...
 - windows 实现vue命令行
			
在代码编辑器里写好文件的位置,以及相关的命令,保存文件类型是.cmd
 - 【codeforces 515B】Drazil and His Happy Friends
			
[题目链接]:http://codeforces.com/contest/515/problem/B [题意] 第i天选择第i%n个男生,第i%m个女生,让他们一起去吃饭; 只要这一对中有一个人是开心 ...
 - python正则匹配——中文字符的匹配
			
# -*- coding:utf-8 -*- import re '''python 3.5版本 正则匹配中文,固定形式:\u4E00-\u9FA5 ''' words = 'study in 山海大 ...
 - [bzoj4530][Bjoi2014]大融合_LCT
			
大融合 bzoj-4530 Bjoi-2014 题目大意:n个点,m个操作,支持:两点连边:查询两点负载:负载.边(x,y)的负载就是将(x,y)这条边断掉后能和x联通的点的数量乘以能和y联通的点的数 ...
 - 解决MYSQL的You can't specify target table 'xxxxxxxxxx' for update in FROM clause
			
出现这个问题的MYSQL的SQL语句形如: DELETE FROM xxxxa WHERE EXISTS (SELECT * FROM xxxx1 WHERE xxxxa.xxid=123) 解决方法 ...
 - [转]C#——细说事务
			
转自:风尘浪子 - 博客园 引言 其实事务在数据层.服务层.业务逻辑层多处地方都会使用到,在本篇文章将会为大家一一细说. 其中前面四节是事务的基础,后面的三节是事务的重点,对事务有基础的朋友可以跳过前 ...
 - Openfire:解决乱码问题
			
当部署openfire后,创建用户和发送离线消息时会出现中文字符乱码的问题.要解决这个问题需要同时配置openfire和mysql两端. 首先openfire端,在安装页面中指定odbc连接串中需要带 ...