其实服务器镜像的问题并不复杂,但是又很多的朋友都不太了解镜像有何区别,因此呢,今天小编就来为大家分享服务器镜像的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
一、怎么搭建本地Ubuntu镜像服务器
一.需求分析
最近公司软件Team有个需求是这样的:能不能在局域网搭建一个Ubuntu镜像服务器,
这样作的好处是可以节省Ubuntu某些常用工具的安装时间。
二.部署过程
2.1测试环境
目前在公司内有一台能连接到外网的Ubuntu机器, IP: 192.168.8.173,
Ubuntu版本为Ubuntu 9.04 i686。
2.2搭建步骤
为了创建Ubuntu mirror服务器,最少需要60G硬盘空间,Ubuntu每个版本都有32 bit
和64 bit两个版本,有两组deb包。当然可以创建Ubuntu一个版本的32 bit和64 bit的
镜像服务器,也可以创建全部版本的镜像。
这里使用sohu公司的mirror作为本地Ubuntu Source服务器,使用sohu的原因是:
1. sohu的Ubuntu Source服务器速度相当快
2. sohu的ubuntu Source服务器每天会和Ubuntu官方服务器同步一次,这样可以保
证我们使用的是最新的软件包。
修改方式如下:
root@ms~: cat/etc/apt/sources.list
deb jaunty main restricted universe multiverse
deb jaunty-security main restricted universe multiverse
deb jaunty-updates main restricted universe multiverse
deb jaunty-proposed main restricted universe multiverse
deb jaunty-backports main restricted universe multiverse
deb-src jaunty main restricted universe multiverse
deb-src jaunty-security main restricted universe multiverse
deb-src jaunty-updates main restricted universe multiverse
deb-src jaunty-proposed main restricted universe multiverse
deb-src jaunty-backports main restricted universe multiverse
安装下面工具:
root@ms~: apt-get install apt-mirror
root@ms~: apt-get install apache2
下面就构建Ubuntu 9.04 32bit的本地Ubuntu mirror服务器为例子,来说明如何配置:
修改配置文件:
root@ms~: cat/etc/apt/mirror.list
############# config##################
#
# set base_path/var/spool/apt-mirror
#
# set mirror_path$base_path/mirror
# set skel_path$base_path/skel
# set var_path$base_path/var
# set cleanscript$var_path/clean.sh
# set defaultarch
# set postmirror_script$var_path/postmirror.sh
set run_postmirror 0
set nthreads 20
set _tilde 0
#
############# end config##############
deb-i386 jaunty main restricted universe multiverse
deb-i386 jaunty-security main restricted universe multiverse
deb-i386 jaunty-updates main restricted universe multiverse
#deb jaunty-proposed main restricted universe multiverse
#deb jaunty-backports main restricted universe multiverse
deb-src jaunty main restricted universe multiverse
deb-src jaunty-security main restricted universe multiverse
deb-src jaunty-updates main restricted universe multiverse
#deb-src jaunty-proposed main restricted universe multiverse
#deb-src jaunty-backports main restricted universe multiverse
#clean
备注:
deb-i386 表示32 bit版本的deb软件
deb 表示64bit版本的deb软件
jaunty表示Ubuntu 9.04的代号
设置完成后,输入下面命令:
root@ms~: apt-mirror
这时系统会启动20个线程运行wget到 下面相应的
deb包。时间比较的长,该命令执行完成后,/var/spool/apt-mirror目录下就有了所有需
要的deb包和相应的配置文件。
由于我是从sohu的,所以实际的文件在:
/var/spool/apt-mirror/mirror/mirrors.sohu./ubuntu目录下。
这样,本地就有了所有Ubuntu Source服务器所需要的文件,然后开启相应的服务:
这里使用apache2作为Web服务器,默认根目录在/var//,所以可以在该目录下做
个,如下所示:
root@ms~: cd/var/
root@ms~: ln/var/spool/apt-mirror/mirror/mirrors.sohu./ubuntu-s
开启web服务:
root@ms~: apache2ctl start
打开浏览器输入下面即可看到和sohu mirror一样的页面:
同时也可以使用crontab进行每天的更新,修改配置文件:
root@ms~: cat/etc/cron.d/apt-mirror
#
# Regular cron jobs for the apt-mirror package
#
#0 4*** apt-mirror/usr/bin/apt-mirror>/var/spool/apt-mirror/var/cron.log
把命令前面的“#”去掉即可,这样系统会自动使用apt-mirror去和sohu服务器更新。
最后,我们所要做得就是在客户端的机器上修改更新源配置文件,将改成本地
mirror服务器的即可,如下所示:
root@ms~: cat/etc/apt/sources.list
deb jaunty main restricted universe multiverse
deb jaunty-security main restricted universe multiverse
deb jaunty-updates main restricted universe multiverse
deb jaunty-proposed main restricted universe multiverse
deb jaunty-backports main restricted universe multiverse
deb-src jaunty main restricted universe multiverse
deb-src jaunty-security main restricted universe multiverse
deb-src jaunty-updates main restricted universe multiverse
deb-src jaunty-proposed main restricted universe multiverse
deb-src jaunty-backports main restricted universe multiverse
执行“apt-get update”来重建本地索引,这样以后就会使用本地的Mirror服务器进行更新
二、本地***镜像有何区别
本地就是网站所在服务器地点的,而镜像就是别的地方。比如你是江西的,主服务器是北京的那么本地就是北京的服务器,镜像就是其他地方的,比如江西镜像,湖北镜像,等等活着是铁通镜像联通镜像等。选择对自己速度最快的进行
三、如何做服务器镜像
如何做镜像服务器?
1.基于特定服务器软件的负载均衡
这种技术是利用网络协议的重定向功能来实现负载均衡的,例如在Http协议中支持定位指令,接收到这个指令的浏览器将自动重定向到该指令指明的另一个URL上。由于和执行服务请求相比,发送定位指令对Web服务器的负载要小得多,因此可以根据这个功能来设计一种负载均衡的服务器。一旦Web服务器认为自己的负载较大,它就不再发送回浏览器请求的网页,而是送回一个定位指令,让浏览器去服务器集群中的其他服务器上获得所需要的网页。在这种方式下,服务器本身必须支持这种功能,然而具体实现起来却有很多困难,例如一台服务器如何能保证它重定向过的服务器是比较空闲的,并且不会再次发送定位指令?定位指令和浏览器都没有这方面的支持能力,这样很容易在浏览器上形成一种死循环。因此这种方式实际应用当中并不多见,使用这种方式实现的服务器集群软件也较少。
2.基于DNS的负载均衡
DNS负载均衡技术是最早的负载均衡解决方案,它是通过DNS服务中的随机名字解析来实现的,在DNS服务器中,可以为多个不同的配置同一个名字,而最终查询这个名字的客户机将在解析这个名字时得到其中的一个。因此,对于同一个名字,不同的客户机会得到不同的,它们也就访问不同上的Web服务器,从而达到负载均衡的目的。
这种技术的优点是,实现简单、实施容易、成本低、适用于大多数TCP/IP应用;但是,其缺点也非常明显,首先这种方案不是真正意义上的负载均衡,DNS服务器将Http请求平均地分配到后台的Web服务器上,而不考虑每个Web服务器当前的负载情况;如果后台的Web服务器的配置和处理能力不同,最慢的Web服务器将成为系统的瓶颈,处理能力强的服务器不能充分发挥作用;其次未考虑容错,如果后台的某台 Web服务器出现故障,DNS服务器仍然会把DNS请求分配到这台故障服务器上,导致不能响应客户端。最后一点是致命的,有可能造成相当一部分客户不能享受Web服务,并且由于DNS缓存的原因,所造成的后果要持续相当长一段时间(一般DNS的刷新周期约为24小时)。所以在国外最新的建设中心Web站点方案中,已经很少采用这种方案了。
3.基于四层*技术的负载均衡
这种技术是在第四层*机上设置Web服务的虚拟IP,这个虚拟IP是DNS服务器中解析到的Web服务器的IP,对客户端是可见的。当客户访问此Web应用时,客户端的Http请求会先被第四层*机接收到,它将基于第四层*技术实时检测后台Web服务器的负载,根据设定的算法进行快速*。常见的算法有轮询、加权、最少连接、随机和响应时间等。
4.基于七层*技术的负载均衡
基于第七层*的负载均衡技术主要用于实现Web应用的负载平衡和服务质量保证。它与第四层*机比较起来有许多优势:第七层*机不仅能检查TCP/IP数据包的TCP和UDP端口号,从而转发给后台的某台服务器来处理,而且能从会话层以上来分析Http请求的URL,根据URL的不同将不同的Http请求交给不同的服务器来处理(可以具体到某一类文件,直至某一个文件),甚至同一个 URL请求可以让多个服务器来响应以分担负载(当客户访问某一个URL,发起Http请求时,它实际上要与服务器建立多个会话连接,得到多个对象,例如. txt/.gif/.jpg文档,当这些对象都到本地后,才组成一个完整的页面)。
5.站点镜像技术
以上几种负载均衡技术主要应用于一个站点内的服务器群,但是由于一个站点接入Inter的带宽是有限的,因此可以把负载均衡技术开始应用于不同的网络站点之间,这就是站点镜像技术,站点镜像技术实际上利用了DNS负载均衡技术。
如何做镜像服务器--相关问题
问题:因为现在电信和网通的原因,很多网通的朋友总是反应速度慢,郁闷啊,我看到有的站可以自行选择是网通还是电信的,不知道,这个功能是怎么是实现的?
答案:
HTML代码
<html><head><meta -equiv="Content-Type" content="text/html; charset=gb2312"></head><body bgColor=#D5D5D5>
<script>
i=1
var autourl=new Array()
autourl[1]=" 1"
autourl[2]=" 2"
autourl[3]=" 3"
function auto(url)
{
if(i)
{
i=0;
location=url
}}
function run()
{
for(var i=1;
i<autourl.length;i++)
document.write("<img src="+autourl[i]+"1.gif?"+Math.random()+" width=1 height=1 onLoad=auto('"+autourl[i]+"')>")
}
run()
</script></body></html>
然后在你每个空间的根目录放 1个较大图片 1.gif(最好 30 KB左右)
问题:分别有网通、电信服务器,想两个服务器内都放网站整站程序,我添加文件的时候是在电信网站上添加,想让网通网站上也自动同步与电信,我该怎么做啊
答案:
1。介绍
现在的网站随着访问量的增加,单一服务器无法承担巨大的访问量,有没有什么方便快捷的方式解决这个问题呢,答案是”有”!
比如建立服务器群,进行均衡负载。但是如果要解决像电信网通这样的互访问题(中国网民的悲哀),这个解决办法就无能为力了!
要解决这个问题最方便快捷的方式就是建立镜像网站!由访问者自己选择适合自己网络的速度最快的网站!这样即可以解决线路问题,又可以解决访问量问题!
2。网站同步的数据分类
网站数据基本分为两类:
一类是文件,比如HTML,ASP,PHP等网页文件,或者RAR,ZIP,RM,*I等可文件!
要实现他们的同步很简单,用FTP同步软件就可以了!至于哪几个我会在后面做详细介绍。
一类是数据库数据文件,比如MySQL,SQL Server等等!
数据库同步的方法也很多,最简单的办法只是将数据库目录同步一下就OK了!
在后面我也会做详细讲解!
3。网站文件的同步
在这里用到的主要工具就是FTP,网站文件同步分两种情况,一种是本地到远程,一种是远程到远程(FXP)!第一种不用说了,第二种远程到远程即FXP,支持它的软件也很多,但是真正适合多网站同步镜像的却不多!
下面我介绍几个我认为不错的软件!
下面我介绍几个我认为不错的软件!
1.首先我要推荐的是国产的FTP软件”网络传神”,功能非常强大,特别是在网站的同步镜像方面,可惜的是,这款非常经典的软件已经不再更新了,最后更新时间是2003年3月,最后一个版本是3。12!虽然如此还是非常好用的!下面是一段官方的简介:
网络传神完全吸收了Cuteftp和UpdataNow的全部功能,并且增加了其他软件没有的多项功能:支持网站互传;支持网站同步(UPDATA NOW);支持后台上传(多线程上传多个文件);可同时打开多个站点;多站点计划上传功能,支持镜像站点;支持宏操作支持计划操作;支持文件高级比较上传;支持目录隐藏过滤(为用ForntPage作主页的朋友带来福音);服务器自动识别功能;资源管理器浏览方式;可以自定义命令;支持RFC959标准具有更好的稳定*;完备的信息返回机制及错误监控机制完整的中文帮助。
2.第二款是由ReGet同一开发公司制作的专用于网站同步的软件”WebSynchronizer”,用这款软件,你才会体验到网站同步的方便快捷,简单容易。最新版本是1。3。62,网上能找到XX的最后版本是1。1版!下面是一段简介:
档案同步化工具- WebSynchronizer,由知名续传软件 ReGet之软件出版公司所推出,是网站同步化、档案镜像、档案备份的绝佳工具,可以执行下列主要工作:1)本机资料夹及远程资料夹的同步化;2)两台远程计算机中的资料夹同步化;3)两个本机资料之同步化。
3.其他还有一些软件如同步快梭(AutoSyncFTP),也能实现简单的网站同步,不过,这款软件非常不稳定,而且2001年就已经停止开发。所以,不用考虑了!还有上次有朋友提到的SiteMirro,由于网上找不到可以用的版本,所以没有办法测试!