【转载】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. ...
随机推荐
- 19.理解slop
主要知识点: slop的含义(内在原理) slop的用法 一.slop的含义是什么? query string(搜索文本)中的几个term,要经过几次移动才能与一个document匹配 ...
- Git 基础教程 之 搭建Git服务器
截图自: 廖雪峰老师官方网站 https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0 ...
- HyperLedger项目以及社区
本文不涉及任何技术开发的内容,仅供你跟同学.同事吹牛B之用.就像很多牛人总爱讲历史典故一样. 一.诞生与现状 HyperLedger 诞生于2015年12月17日,HyperLedger 追寻Apac ...
- 并行输入\输出控制器之我见(PIO)
中断信号FIQ及IRQ0到IRQn一般通过PIO控制器复用.但是,由于PIO控制器对于输入无效且中断线(FIQ或IRQ)仅作为输入,因此不必为中断分配I/0线. 电源管理控制器控制P ...
- 洛谷—— P2424 约数和
https://www.luogu.org/problem/show?pid=2424 题目背景 Smart最近沉迷于对约数的研究中. 题目描述 对于一个数X,函数f(X)表示X所有约数的和.例如:f ...
- django book chapter 2
Django’s optional GIS (Geographic Information Systems) support requires Python 2.5 to 2.7. 这里提到了djan ...
- u-boot-2014.04移植FL2440(使用eclipse编辑uboot)
1.首先安装eclipse 安装指令 : apt-get install eclipse 使用上面的命令会安装好jdk 和eclipse,eclipse必须在Java环境执行,所以须要安装jdk环境. ...
- Equals和==的差别
java中的数据类型.可分为两类: 1.基本数据类型 包含:byte,short,char,int,long,float,double,boolean .基础数据类型比較大小的时候使用的是双等号(= ...
- NS3网络仿真(2):first.py
1 安装基本模块 11 安装Python 12 安装PTVS 13 加入对python-279的支持 2 在vs2013下编译NS3 3 编译NetAnim 4 在vs2 ...
- AFNetworking 3.0携带參数上传文件Demo
一.服务端代码: 服务端是java用国产nutz搞的,实际mvc框架都大同小异.就是提交文件的同一时候还带了个表单參数 @AdaptBy(type=UploadAdaptor.class, args= ...