Archive for 十月, 2005
从“让人变懒的命令”谈各linux发行版本的哲学
Windows :
-
命令:Ctrl+C Ctrl+V
-
解释:把windows放在一帮linux发行版中似乎有点格格不入,但谁让他是最流行的操作系统呢?的确这个命令体现了windows的哲学,互通性与简便性。呵呵!这也是互联网发展到今天出现了这么多雷同信息的缘故。本想写ctrl+alt+del的,可这不是批判大会。
Redhat:
-
命令:rpm (redhat progrem mangerment)
-
解释:现在看起来rpm几乎成了所有linux发行必备的命令,设置成了一个标准,可见Redhat的号召力。起初linux的每一个软件都需要复杂的安装方式,也正是rpm包的出现,逐渐的将linux推向了桌面应用。方便、易用也就是redhat( 包括现在的fedora)的哲学,他们的目标就是将linux “傻瓜化”。
yellowdog:
-
命令:yum (yellowdog update mangerment)
-
解释:powerPC平台的用户也许还有所耳闻,i386的用户现在已经几乎看不到“黄狗”的影子了,但是从最新的redhat fedora上还能怀念这条经典的命令,更新的很快,但是更新离不开网络的支持。
debian:
-
命令:apt-get
-
解释:一句apt-get命令就涵盖了几乎全部开源软件的安装,可见debian 就是GPL的确实体现。也是较早的采用了与rpm类似的deb安装包的模式对一个系统的定制,同时也体现出了“操作系统就是工具箱”这个来自unnix的理念。
Gentoo:
-
命令:emerge
-
解释:类似于FreeBSD的哲学,但也许是linux的特殊性决定了它没有FreeBSD的cvsup来的那么深入人心,也显得更加的专业化和精细化。其实光是其安装的过程就足以阻挡了绝大多数的“非专业人士”。
FreeBSD:
-
命令:cvsup ; make install clean
-
解释:FreeBSD不是linux的发行版,但与其有许多相似之处。cvsup命令保证了FreeBSD的血统纯正;make install clean在保证其简洁之外也体现出了其高度的“洁癖”,对于软件包设置、发行版代码的种种近乎苛刻的限制,让人害怕是不是在使用一段时间后使用者也会出现不好的心理问题。

-
网站:www.freebsd.org
汉澳:
- 口号:气吞万里如虎
- 解释:口气很大,非常的风趣幽默,开胃良药,无须多说,一看便知

- 网站:www.shouji88.com
合成SuSE10的DVD版本
在很多论坛上看到有人说Suse的5张CD刻录太浪费(其实我一直用cd-rw刻录),于是想起了原先制作9.3的方法,依葫芦画瓢拿来一试,不错,成功!
- 下载光盘镜像,如果只有光盘而没有镜像,可以使用dd来制作,方法为:dd if=/dev/cdrom of=disk1.iso
- 建立文件夹:mkdir disk1 disk2 disk3 disk4 disk5
- 挂装镜像文件:
- mount disk1.iso disk1 -o loop
- mount disk2.iso disk2 -o loop
- mount disk3.iso disk3 -o loop
- mount disk4.iso disk4 -o loop
- mount disk5.iso disk5 -o loop
- cp -rf disk1/boot . #将disk下的文件复制到DVD的 /boot
mkdir i586 i686 noarch #创建目录结构
- cat disk/suse/i586/MD5SUMS disk2/suse/i586/MD5SUMS disk3/suse/i586/MD5SUMS disk4/suse/i586/MD5SUMS disk5/suse/i586/MD5SUMS > i586/MD5SUMS #合并校验文件,防止校验出错
cat disk1/suse/i686/MD5SUMS disk2/suse/i686/MD5SUMS > i686/MD5SUMS
cat disk1/suse/noarch/MD5SUMS disk2/suse/noarch/MD5SUMS disk3/suse/noarch/MD5SUMS disk4/suse/noarch/MD5SUMS disk5/suse/noarch/MD5SUMS > noarch/MD5SUMS
- mkisofs -o SuSE10_dvd.iso -b boot/loader/isolinux.bin -c boot/loader/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -l -P SuSE -r -T -V OpenSuSE_10 -x disk1/boot -x disk1/suse/i586/MD5SUMS -x disk1/suse/noarch/MD5SUMS -x disk1/suse/i686/MD5SUMS -x disk2/suse/i686/MD5SUMS -x disk2/suse/i586/MD5SUMS -x disk2/suse/noarch/MD5SUMS -x disk3/suse/i586/MD5SUMS -x disk3/suse/noarch/MD5SUMS -x disk4/suse/i586/MD5SUMS -x disk4/suse/noarch/MD5SUMS -x disk5/suse/i586/MD5SUMS -x disk5/suse/noarch/MD5SUMS -graft-points disk1 boot/=boot suse/i586/MD5SUMS=i586/MD5SUMS suse/noarch/MD5SUMS=noarch/MD5SUMS suse/i686/MD5SUMS=i686/MD5SUMS suse/=disk2/suse suse/=disk3/suse suse/=disk4/suse suse/=disk5/suse media.2/=disk2/media.2 media.3/=disk3/media.3 media.4/=disk4/media.4 media.5/=disk5/media.5 #漫长的制作过程
- 制作完成,生成SuSE10_dvd.iso镜像文件
mount ./SuSE10_dvd.iso /mnt/cdrom -o loop
ls /mnt/cdrom - 如果全都正确说明你自己的DVD镜像已经制作完成了,剩下的任务就是刻盘安装了。
一个在windows下进行MD5校验的工具
MD5summer就是一个这样的工具,我也不必多说了,需要的下了。
FireFox的优化工具——firetune
Friefox最近的势头非常猛,不但几乎所有的linux的发行版都将其作为默认的浏览器,连windows平台下的Firefox的占有率也几乎一夜之间成为仅次于IE的第二大浏览器。
曾经看到过有篇介绍怎样优化friefox的帖子,其主要内容是在地址栏中输入“about:config",就会出现Firefox的隐含控制面板,对其作一系列的调整,比较麻烦也便于初学者掌握,于是就有这么一个工具面市,试用了一下,非常方便,不敢独享,提供给各位。
解包后运行FireTune.exe-〉选择"language"-〉chinese-gb.lng可选用简体中文界面。
Regulatory Risk ——且谈规范化的风险
今天,得知我原先公司的某位高层领导,我曾经的顶头上司辞职,特发感慨,感慨于如今各公司各行业都在进行的“规范化”所带来的风险。
那是一家经营药品制造的企业。大约就是在1年前,我从那家公司辞职——其实也不能称之为辞职,公司出台文件指出“非关键性岗位”在年底之前自动提请辞职可享受作为补偿的2个月工资。作为IT部门,一个被老板认为是烧钱的岗位,我自然属于“非关键性岗位”之列。算了,项目搁置,ERP停机,网站关闭,找到了一份收入类似的工作我便辞职走人了。
真正说起来,这家公司也并非是一家新企业,也并非从来就没有赚到过——其实这家公司有这近30年的历史,原先公司的业绩是非常不错的,公司控股方也包含了上海公交行业的巨鳄(他们的投资方针似乎有些滑稽)、上海某知名的医科类大学,事实上正是“大鳄”吞并了“大学”的原校办企业。公司在短短2年间从一个30人左右的校办厂,一下子成长成了又有近40亩面积的厂房,职工超过150人的企业,当然这只是在最辉煌的时期。
公司败落也就是从那时开始……
2001年,国家出台法律,要在药品制造行业强制推行GMP生产规范,同时,“大学”由于市政搬迁,出让原有校舍。于是公司高层在上海近南郊买下了一片土地,开工新的厂房。也许是我少见多怪,“大学”时代依赖于“大学”这棵大树,很多开销小到可以忽略不计。正如水电之类的,有很多操作也管理不严,节省了很多人力成本。可到了新厂区,一切全都变了——宽敞的车间的确漂亮,但是带来的后果是更多的电力消耗,更多的清洁成本,工人的积极性更加低下等等一系列的毛病随之而来;GMP规范确实是造福了病患,然而对于一家药品制造企业而言也就意味着更高成本带来的更低利润空间;新的设备确实漂亮,然而带来的后果确实工艺因为改进不及时而带来的废品率增加、正常损耗提高;严格的筛选的结果确实使产品更加安全和可靠,然而废品如何处理?GMP的要求——“只能销毁,不得他用”。
最终的结果是:人员翻了2番仍然人手不够,能源和原料多耗3成产量只减不增,产能只能勉强与“大学”时代持平(其实个人怀疑产能是可以开发的,只是担心销售跟不上而造成货品积压)。
这还不是最要命的,原先“大学”时代的水电是仰仗于国家对于事业单位的优惠政策而已极低的价格购买的;加热是借用“大学”的蒸汽,每月只是象征性的支付少的可怜的几千块罢了。后来呢?光自己的一个锅炉每天(8小时)就要烧掉进1.5吨多的柴油,近2万元!
就这样,一家公司就慢慢的耗用完了。
难道“新厂”时代没有盈利吗?诚然,有!但那时正值“非典”时期,赶工“防非”药物,供给“大鳄”的各个驾驶员等高危人群,但一个企业总不至于依靠这种突发事件就能生存吧,“非典”就迎来了公司的寒冬……
标准化也好,规范化也罢对于一个国家而言固然重要,但对于公司而言也许真的没有想象中的那么美好,但似乎前些年所有的企业都一古脑的申办ISO认证,“有条件要上,没有条件创造条件也要上”的一窝蜂似乎有点讽刺了。
罢了罢了,也就不谈什么了,这篇东西自然与我所专长的IT没有任何关系,一个行外人的话语自然不要放在心上,只当是我为了纪念我曾经上司的辞职,以及我在那家公司工作的那些年的一篇回忆录而已吧。
PS:
该公司现已表示将不再与任何员工续签2006年的劳动合同。
一个IP建多个Web站点–主机头名法(apache篇)
首先,编辑httpd.conf文件,在尾部加上
NameVirtualHost *
编辑虚拟主机配置文件:
<VirtualHost *>
DocumentRoot "/htdoc" #html文件目录
ServerName test.com #虚拟主机名
ServerAlias *.test.com #做出响应的域名
##具体的目录配置
<Directory "/htdoc">
allow from all
</Directory>
DirectoryIndex index.php
</VirtualHost>
注意: ServerAlias 一栏,如果想让你的虚拟主机对应多个域名,可以将他们列出,并一一用空格隔开。
小窍门:
如果你同时管理多个虚拟主机,而且经常变动,那就可以在httpd.conf文件的末尾加上一句
include DIR/*.conf #DIR为你虚拟主机配置文件的目录
然后,将每一个虚拟主机的配置做一个单独的.conf文件,放在DIR目录下,到时候只要添加删除文件就可以了。
精打细算用Linux
按:不知是从什么地方翻出的老文档(至少在RH7.3之前)老的有点落后,仅供参考。有部分命令是8.0后没有了的,而且核心还是2.4.*的。
所有的操作系统都要求"给我更多!"– 它们要求更多的磁盘空间,更多的内存,很高的cpu工作频率–令人欣慰的是拯救我们这些没有最新硬件的人的救世主出现了,是的,我说的是Linux。
虽然Linux作为网络操作系统很出色,但实际上,作为单用户的操作系统,工作在未连网的家庭PC上,它也是非常不错的。考虑到这种情况,你有很多方法可以从你的系统中挤出更多的资源,甚至在一台象仅有8M内存的486这样的老机器上也可以。
现在请记住你需要以 root 身份登录到系统来做下面的所有事情,我们的目的将有两个分支:使内存的使用量最小,和节省磁盘空间。
节省内存!
重新编译内核
内 核在没有安装到你的机器里以前就已经被编译好了,但是它是一个带有所有功能的内核,把每样东西都编译了进去。这就意味着它比你要专用的大。如果你从内核源 代码编译一个你自己的内核的话,它会比缺省的vmlinuz的内核小100kB以上。此外,这还有助于你了解如何编译内核。实际上,这十分简单。你要首先 设置,就是说你的内核里都需要什么功能。然后编译它就行了。Linux已经发展到了一个很高的阶段,以至于它内核的设置可以是图形化的。内核的源代码通常 在这里:/usr/src/linux。要运行图形界面的设置程序,执行这个命令 make menuconfig (这个是基于文本菜单的),或者执行 make xconfig (这个是在X中的图形界面),你将会看到一个很长的设置选项列表,在做选择以前,建议你仔细看看每一项所带的帮助提示。这些提示总是会给出合理的建议,你 应该遵循它。如此,你将会确切的得到那些你需要编译进你的内核的东西,而不包含其他。我也建议你读一读源码路径下的README文件。一旦你设置好了,退 出X(如果你运行了它),在文本模式下编译它,这样做没有笨重的X运行可以有更多的内存可用,编译起来快一些。执行 make dep ; make zImage ,然后去喝杯咖啡,做完这些,README文件会很通俗的解释你应如何使用这个新内核,我不再赘述。
停止某些服务!
当Linux 系统运行的时候,通常会有很多后台作业在运行,这些作业都是有特殊功能的,它们叫做deamon。例如 sendmail,是邮件的daemon,它处理所有邮件的发送和邮件递送安排。有许多这样的daemon在系统启动的时候开始运行,系统中有几个 runlevel,它们是一些启动和停止的服务的组合。例如,在通常的Linux系统的runlevel 1上,(这是单用户模式),就会明显地比多用户模式的runlevel 3需要较少的服务。缺省情况下,Linux 启动进入 runlevel 3。现在它会启动很多服务在这个runlevel上,它们中的一些对未连网的家庭PC来说没用。例如,你显然不想运行sendmail来浪费
宝 贵的内存。是的,它可以把邮件在root@localhost和someuser@localhost两个本地用户间发来发去,但是这会消耗系统资源,而 且没有丝毫用处。如何从一个runlevel里删去一项服务在RedHat里,这非常简单。系统管理是RedHat比其他发布强的地方。在以root登录 以后,启动X,然后在一个 xterm 里启动 tksysv ,这是一个图形界面的runlevel编辑器。你可以看到六个列,每个runlevel占一个。现在我们仅注意runlevel3就可以了,就是系统通常 启动进入的那个runlevel。每个列都有两部分,上面的是系统启动时开始执行的服务,下面的是在系统shutdown时停止的服务。你要做的就是选择 你想删去的项,然后按del,就是这样,另外记得在你退出以前保存你的修改。
哪些服务要留下,哪些要删去事实上,告诉你留哪些很简单。记住,所有的这些办法都是在runlevel 3上有效。这是几条要点:
kerneld – 如果没有它的话,那什么都工作不起来了!
syslog – 必须保留,来记录log信息。这些log在万一系统出现错误的时候,可以帮助你看看系统哪里出错了(实际上,在Linux系统里什么错误都不会出现)
keytable – 如果你还想使用键盘的话就得留下这个!
rc.local – 这是那些日常的工作启动的地方,在所有其他的服务都启动以后执行你仅仅需要上面的4项服务,没有它们,就象有人说的," 一切都歇菜了"
你可能想保留的服务
下面是一些要不要两可的服务,一些你可能想要保留的无关紧要的服务。你可能需要它们,或者喜欢它们。
crond – 它周期性的运行一些日常的作业,最重要的事情就是确保你的log文件不会太大。你可以在你需要的时候来运行它。
atd – 如果你想要使用 at ,你就需要这个deamon,也就是说,作业按你指定的时间来执行,在一个多用户的24小时都不停机的大系统中,人们通常使用它来指定在晚上运行一些非常 繁重的计算任务。但是在简单的家用机器上,一般不怎么使用,毕竟你是使用它的唯一的人。
gpm – 它可以让你在文本模式下使用鼠标,它仅在你工作在文本模式下的时候才有用, 而当你工作在X下的时候就是一种浪费。
节省磁盘空间
事实上,这里你没有什么可做的,除了删掉一些你不想要的包。RedHat有一个极好的,很容易使用的包管理系统,它会记录你硬盘上的几乎所有的非用户文件。每个安装到你的系统里的文件都是这些包的一部分,这些包能够被反安装。
如何删除一个包
在x中以命令行来运行 " glint ",这是一个图形界面的RedHat包管理系统,你会得到一个图形界面显示你的系统中安装的所有的包。这些包被分类,并以目录列表的形式显示出来。要删掉一个包,选择它,然后按一下右面的"uninstall"按钮就可以了。
我应该删掉哪些包?
请 注意,有一些要紧的包是不应该被删除的。在glint里,通常比较可取的做法是不要动 base 和 library 的包,除非你确切的知道你到底在做什么。其他的,看看它们的描述(点 query 按钮)。如果你很久都没有使用一个包的话, 或者预计以后也不会用它,那么删掉它通常是安全的。万一删掉一个包会影响其他的包 的话,glint会告诉你。它很安全。如果你误删了一个一个包,你总能从光盘上重新安装 它的。
结尾
这些仅是你可以试试的建议。Linux你用的越多,尝试的越多,你就会从你的系统中
挤出更多的资源。
FreeBSD 5.3 下Raid的制作(GEOM)
FreeBSD 5.3下面用geom来创建raid是很方便的
除开可以用geom这个程序来创建,还提供了个单独的程序,例如
gconcat, gmirror, graid3, gstripe. 另外还有个尚未完成的gvinum(即将代替vinum)
concat其实并不算是raid,因为没有性能上的提升,也没有数据保护作用。只是简单的将各磁盘串起来利用磁盘空间。
下面例子将对ipsd1,ipsd2这两个磁盘系统进行concat
首先重置这两个磁盘
bsdlabel -r -w ipsd1 auto
bsdlabel -r -w ipsd2 auto
使用gconcat连接两个磁盘,并且命名为data
gconcat label -v data /dev/ipsd1 /dev/ipsd2
使用gconcat以后,将会在/dev/concat下面多出一个设备名叫data,对应早先命令的data名字
ls /dev/concat
格式化,如果你需要关闭Soft-Update,只需要去掉-U
newfs -U /dev/concat/data
创建mount point
mkdir /data
挂上新建的concat
mount /dev/concat/data /data
修改fstab让系统重启后自动mount
vi /etc/fstab
内容
/dev/concat/data /data ufs rw 2 2
增加开机自动装载geom_concat.ko这个模块
vi /boot/loader.conf
内容
geom_concat_load="YES"
很简单的concat已经做好了
stripe raid (RAID0)
创建一个stripe raid (RAID0)
RAID0具有最高性能,也是最差安全性的
使用gmirror连接两个磁盘,并且命名为data
gstripe label -v -s 4096 data /dev/da1 /dev/da2
-s 4096: 是分开在每个磁盘的块大小为4k
创建mount point
mkdir /data
挂上新建的Raid
mount /dev/concat/data /data
增加开机自动装载geom_mirror.ko这个模块
vi /boot/loader.conf
内容
geom_stripe_load="YES"
kern.geom.stripe.fast
设置是否使用fast模式.gstripe有两个模式,一个是fast,一个是economic.
fast模式消耗更多的内存,但是速度更快.当内存不足的时候会自动切换到economic模式.
kern.geom.stripe.maxmem
设置fast模式下面最大使用内存数,该选项是只读.只能在启动时候才能设置.因此如果需要更改该选项,需放在 /boot/loeader.conf
kern.geom.stripe.fast_failed
记录了fast模式失败次数,如果次数很大,你就要调大kern.geom.stripe.maxmem的数值
创建一个mirror raid (也就是俗称的RAID1)
RAID1具有最高的安全性,具有快速的读操作,不提高磁盘的写性能
下面例子将对da0 da1这两个磁盘系统进行mirror
首先重置这两个磁盘
bsdlabel -r -w da0 auto
bsdlabel -r -w da1 auto
使用gmirror连接两个磁盘,并且命名为data
gmirror label -v -b split -s 2048 data da0 da1
稍微解释一下上面的命令,详细的查询man gmirror
-b split: 告诉gmiiror创建的mirror,在读取的时候将读操作分开到各磁盘上面,这样能够提高读取性能
-s 2048: 告诉mirror只分开读取大于2k 的文件
除开spilit,还有其他平衡形式.split比较适合大众
round-robin : 在各磁盘轮流读取数据
prefer: 更高优先权的读取数据
load: 更低负荷的读取数据
使用gmirror以后,将会在/dev/concat下面多出一个设备名叫data,对应早先命令的data名字
ls /dev/concat
格式化,如果你需要关闭Soft-Update,只需要去掉-U
newfs -U /dev/concat/data
创建mount point
mkdir /data
挂上新建的Raid
mount /dev/concat/data /data
修改fstab让系统重启后自动mount
vi /etc/fstab
内容
/dev/concat/data /data ufs rw 2 2
增加开机自动装载geom_mirror.ko这个模块
vi /boot/loader.conf
内容
geom_mirror_load="YES"
mirror raid已经做好了
创建一个当前磁盘的mirror:
gmirror label -v -b round-robin data da0
gmirror insert data da1
除开上面,geom还提供了raid3的制作
graid3 label -v -r data da0 da1 da2
上面贴子说的gconcat,gmirror,gstripe都可以用geom一个来搞定
例如
geom stripe label -v -s 4096 data /dev/da0 /dev/da1 /dev/da2
等于
gstripe label -v -s 4096 data /dev/da0 /dev/da1 /dev/da2
且谈google左侧排名
在网站推广方法中,搜索引擎推广是最重要的方法之一,而Google目前是世界最NB的搜索引擎了,占全球56%的搜索引擎市场,所以网站在Google 中的推广不可忽视。不过,目前大多网站在Google中的推广都是给Google钱,做Google右边的广告。 Google右侧广告虽然效果还凑合,但是价格毕竟太高了(每次点击,0.05美元),不是我们平常的网络老百姓能够承受了的。如何不给Google一分 钱在Google中更好的推广自己的网站呢?这里我教大家一套秘笈—- Google左侧排名。
Google左侧排名,主要是通过技术手段,提高网站在Google中的综合评分自然的获得较好的排名的。这里我们一下Google左侧排名技巧:
第一步:Google排名第一步要先了解Google排名的因素: Google排名因素据说超过300种,这个数据是一个国外的著名的SEO(搜索引擎优化研究)研究者提供的,不过我们必须研究那么深,因为我们祖先有句非常有道理的话是这么说的:万变不离其宗!
Google排名因素主要有以下几条:
A: 网站结构:合理的网站结构可以让Google轻松搜索到你网站的大多内容,收录你大量的页面,更多的关注你这个网站。是排名很重要的一条因素。
B: 标签设计:搜索引擎都喜欢通过一些标签来认识网页,判断网页,Google也不见外。此条因素也非常重要。
C: PageRank:也就是常说的PR值。Google对网页的等级评分。是排名因素中的重中之中,下面会给大家详细谈一下。
D: 网站流量:网站流量越大,Google越关注,而且不光对你网站更新非常快,而且对排名的好处也是非常大的。
E: 其他因素还有很多很多,这里就不列出来了,只要前面那四项我们想办法做好就OK。
第二步:优化网站:优化网站主要包括:网站结构优化,网站标签优化,网站页面优化,为的是让Google更容易搜索你的网站并且关注你想排的关键词。这里举个实际例子给大家谈:
A: 结构优化:让想GOOGLE收录你网站更多的网页,关键就是要让各个页面之间相互都有连接。另外最好再做一个详细的网站地图页面。
B: 标签设计:网页标签主要是两个标签,一个是网页标题,一个是简介标签,一个是关键词标签。标签中要适当的突出关键词。例如在Google中输入“电子商务”一次排名第一的网站首页标签是这么设计的:
.”>。
“>
这三段标签要放在与之间
注:标题标签长度不可超过40个字符(20个汉字)为好。
注:简介标签要清晰明了的写出网页简介内容,另外突出关键词。不要过长和写与网页内容不相干的内容
注:关键词标签写太多容易被认为作弊,老实写出就OK,不要写与自己网页无关的词。
C: 网页优化:
首页:许多网站首页都是纯FLASH或者是一个图片,这样结构的网站很不合理,首页是一个网站的入口,起到的主要就是导航作用。首页最好一个清晰明了又有内容的页面。
另外,网页文本内容中要突出关键词,里面遇到的关键词可以用加粗。另外文本中有其他页面的关键词的话,可以将这个关键词加上超链接,导向相关页面。
注:每个网页突出的关键词越少越好,最好不要超过3个。另外,网页中的关键词的密度一定要把我好一个度,不要太低,也不高太高。一般在3%左右比较合适。
第三步:提高网站的PR值. PR值是Google对网页的评分,主要根据网页之间的连接来计算:比如,A站有B站的连接,一个用户从A站点击B站在A站的连接进入B站,就表示A站投了B站一篇,将被GOOGLE记录。一个网页的外部连接越多,它的PR值就越高。
提高网页PR值主要有以下几中方法:
A: 和PR值高的网站做友情连接。
B: 登陆YAHOO, DMOZ 等许多网页目录。
C: 到一些自助连接站点登陆自己网站的连接。
D: 优化网站结构,让网站自身页面之间都有很好的连接。
第四步:提高网站流量:想让自己网站本身的流量越好越好,首先第一条就是要把网站自身内容做好,粘住浏览过你网站的客流,让他们第一次上你网站就记住你网站,并且下次需要相关信息了还会来你的网站。另外就是配合着做其他方面的推广。
Google左侧排名不给Google一分钱,而且如果左边排名达到后,效果是Google右侧广告效果的三十倍以上。还犹豫什么,赶快行动吧!
几款搜索引擎优化检测工具
Google链接广泛度检测器(Google Backlink Checker):
http://www.webconfs.com/google-backlink-checker.php 输入你的网站URL,程序将搜索到Google中有哪些网站链接了你的站点,以及链接所用的文本标题。由于不支持中文字符,中文文本内容是乱码,但链接的URL一目了然。
搜索引擎抓取内容模拟器(Search Engine Spider Simulator):
http://www.webconfs.com/search-engine-spider-simulator.php 输入你要查询的URL,获知Google可以抓取到的该页文本内容和链接。不妨对比测试一下使用大量文本和大量图片的页面所获得的内容悬殊的抓取结果。网络营销人也可以利用此工具来检测优化后的页面质量。支持中文字符。
搜索引擎抓取页面数量统计器(Search Engine Saturation):
http://www.marketleap.com/siteindex/ 输入你的网站URL和随机显示的进入代码,你将获得搜索引擎Alltheweb、AltaVista Google/AOL、HotBot/Inktomi所抓取到的你的网站页面数量。你也可以同时输入3个竞争对手网站URL以进行对比,了解自己在竞争中所处地位。
链接广泛度检测器(Link Popularity Check):
http://www.marketleap.com/publinkpop/ 输入你的网站URL和随机显示的进入代码,你将获知在搜索引擎Alltheweb AltaVista Google/AOL HotBot/Inktomi MSN 中有哪些网站链接了你的网站,以及同一URL在Dmoz、Excite、iWon、Lycos、Overture等搜索引擎中的详细链接资料。你也可以同 时输入5个竞争对手网站URL以进行对比,了解自己在竞争中所处地位。 同样的工具还有
http://www.trafficzap.com/linkpopularity.php ,可检测网站在Yahoo、Google、MSN、Lycos和Altavista的链接总数和具体链接的网站。 Google排名监测工具(Free Monitor for Google):
http://www.cleverstat.com/google-monitor.htm 需要下载使用。该工具可以报告你的网站以某关键词在Google中的排名情况,以及同一关键词下排名前N位(自己设定位数)的网站URL。
相似页面检测器(Similar Page Checker):
http://www.webconfs.com/similar-page-checker.php 众所周知,Google会对拷贝页面内容进行排名惩罚。该工具可以检验两个页面的相似度,来判断是否会受到惩罚。如
http://www.sitepronews.com/freebooks.html 和
http://www.allbusinessnews.com/freebooks.html ,相似度达到80%,后者在Google中的PageRank排名值通过工具栏显示为0.
中国顶级门户网站架构分析
某日上网,遇一强贴,正巧最近也在使用一些类似的技术实现我们公司的网站,现将其贴出。
首先声明,下面的内容都是我个人根据一些工具形成的猜想。并不保证和现实中各大门户网站所用的架构一摸一样,不过我认为八九不离十了。
新浪和搜狐在国内的知名度可谓无人不知无人不晓。他们每天的点击率都在千万以上。这样大的访问量对于新浪和搜狐来说怎样利用有限的资源让网民获得最快的速度成为首要的前提,毕竟现在网络公司已经离开了烧钱的阶段,开始了良性发展,每一笔钱砸下去都需要一定回响才行的。另一方面,技术人员要绞尽脑汁,不能让用户老是无法访问、或者访问速度极慢。这样就算有再好的编辑、再好的销售,他们也很难将广告位卖出去,等待他们的将是关门。当然这些情况都没有发生,因为他们的技术人员都充分的利用了现有资源并将他们发挥到了极至。说到底就是用squid做web cache server,而apache在squid的后面提供真正的web服务。当然使用这样的架构必须要保证主页上大部分都是静态页面。这就需要程序员的配合将页面在反馈给客户端之前将页面全部转换成静态页面。好了基本架构就这样,下面说说我怎么猜到的以及具体的架构:
法宝之一:nslookup
实战:
nslookup www.sina.com.cn
Server: ns-px.online.sh.cn
Address: 202.96.209.5
Non-authoritative answer:
Name: taurus.sina.com.cn
Addresses: 61.172.201.230, 61.172.201.231, 61.172.201.232, 61.172.201.233
61.172.201.221, 61.172.201.222, 61.172.201.223, 61.172.201.224, 61.172.201.225
61.172.201.226, 61.172.201.227, 61.172.201.228, 61.172.201.229
Aliases: www.sina.com.cn, jupiter.sina.com.cn
这里可以看到新浪在首页上用到了那么多IP,开始有人会想果然新浪财大气粗啊。其实不然,继续往下看:
nslookup news.sina.com.cn
Server: ns-px.online.sh.cn
Address: 202.96.209.5
Non-authoritative answer:
Name: taurus.sina.com.cn
Addresses: 61.172.201.228, 61.172.201.229, 61.172.201.230, 61.172.201.231
61.172.201.232, 61.172.201.233, 61.172.201.221, 61.172.201.222, 61.172.201.223
61.172.201.224, 61.172.201.225, 61.172.201.226, 61.172.201.227
Aliases: news.sina.com.cn, jupiter.sina.com.cn
细心的人可以发现了news这个频道的ip数和首页上一样,而且IP也完全一样。也就是这些IP在sina的DNS上的名字都叫 taurus.sina.com.cn,那些IP都是这个域的A记录。而news,sports,jczs.news。。。都是CNAME记录。用DNS 来做自动轮询。还不信,再来一个,就体育频道好了:
nslookup sports.sina.com.cn
Server: ns-px.online.sh.cn
Address: 202.96.209.5
Non-authoritative answer:
Name: taurus.sina.com.cn
Addresses: 61.172.201.222, 61.172.201.223, 61.172.201.224, 61.172.201.225
61.172.201.226, 61.172.201.227, 61.172.201.228, 61.172.201.229, 61.172.201.230
61.172.201.231, 61.172.201.232, 61.172.201.233, 61.172.201.221
Aliases: sports.sina.com.cn, jupiter.sina.com.cn
其他的可以自己试。好了再来看看sohu的情况:
nslookup www.sohu.com
Server: ns-px.online.sh.cn
Address: 202.96.209.5
Non-authoritative answer:
Name: pagegrp1.sohu.com
Addresses: 61.135.132.172, 61.135.132.173, 61.135.132.176, 61.135.133.109
61.135.145.47, 61.135.150.65, 61.135.150.67, 61.135.150.69, 61.135.150.74
61.135.150.75, 61.135.150.145, 61.135.131.73, 61.135.131.91, 61.135.131.180
61.135.131.182, 61.135.131.183, 61.135.132.65, 61.135.132.80
Aliases: www.sohu.com
--------------------------------------------
nslookup news.sohu.com
Server: ns-px.online.sh.cn
Address: 202.96.209.5
Non-authoritative answer:
Name: pagegrp1.sohu.com
Addresses: 61.135.150.145, 61.135.131.73, 61.135.131.91, 61.135.131.180
61.135.131.182, 61.135.131.183, 61.135.132.65, 61.135.132.80, 61.135.132.172
61.135.132.173, 61.135.132.176, 61.135.133.109, 61.135.145.47, 61.135.150.65
61.135.150.67, 61.135.150.69, 61.135.150.74, 61.135.150.75
Aliases: news.sohu.com
情况和sina一样,只是从表面来看sohu的IP数要多于sina的IP数,那么sohu上各个频道用的服务器就要多于sina了?当然不能这么说,因为一台服务器可以绑定多个IP,因此不能从IP数的多少来判断用了多少服务器。
从上面这些实验可以基本看出sina和sohu对于频道等栏目都用了相同的技术,即squid来监听这些IP的80端口,而真正的web server来监听另外一个端口。从用户的感觉上来说不会有任何的区别,而相对于将web server直接和客户端连在一起的方式,这样的方式明显的节省的带宽和服务器。用户访问的速度感觉也会更快。
1. 难道就根据几个域名的ip相同就可以证明他们是使用squid的嘛?
当然不是,前面都只是推测。下面才是真正的证实我上面的猜测。先nslookup一把sina的体育频道。
nslookup sports.sina.com.cn
Server: ns1.china.com
Address: 61.151.243.136
Non-authoritative answer:
Name: taurus.sina.com.cn
Addresses:61.172.201.231, 61.172.201.232, 61.172.201.233, 61.172.201.9
61.172.201.10, 61.172.201.11, 61.172.201.12, 61.172.201.13, 61.172.201.14
61.172.201.15, 61.172.201.16, 61.172.201.17, 61.172.201.227, 61.172.201.228
61.172.201.229, 61.172.201.230
Aliases: sports.sina.com.cn, jupiter.sina.com.cn
然后直接访问这些ip中的任意一个ip试试看,访问下来的结果应该是如下图所示:
由此可以证明sina是在dns中设置了很多ip来指向域名sqsh-19.sina.com.cn,而其他各种相同性质的频道都只是sqsh- 19.sina.com.cn一个别名,用CNAME指定。dns的设置应该是这样的,然后server方面,通过squid 2.5.STABLE5(最新的稳定版为STABLE6)来侦听80端口。上面这些是根据一些信息分析而出的,应该基本正确的。下面一些就是我的个人的猜想:
它的真正的web server也同样是侦听80端口,因为在squid配置文件中有一项是:
httpd_accel_port 80
如果你设成其他端口号(比如88)的话,那上图的错误信息就会变成
While trying to retrieve the URL: http://61.172.201.19:88
工具2:nmap扫描程序:可以用来检查服务器开了什么端口。
我现在用nmap来扫描sina的一个ip:61.172.201.19来进行分析
bash-2.05$ nmap 61.172.201.19
Starting nmap 3.50 ( http://www.insecure.org/nmap/ ) at 2004-07-30 13:31 GMT
Interesting ports on 61.172.201.19:
(The 1657 ports scanned but not shown below are in state: filtered)
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
Nmap run completed — 1 IP address (1 host up) scanned in 73.191 seconds
可以看到他对外只开了2个端口,80端口就是刚才我们说的squid打开的,这点刚才已经验证过了。而22端口是用来ssh远程连接的,主要是sa用来远程操作服务器用的安全性非常高的方法。
工具3:lynx或者其他可以读取http头文件的工具及小程序:
直接看例子比较好理解:
HTTP/1.0 200 OK
Date: Fri, 30 Jul 2004 05:49:47 GMT
Server: Apache/2.0.49 (Unix)
Last-Modified: Fri, 30 Jul 2004 05:48:16 GMT
Accept-Ranges: bytes
Vary: Accept-Encoding
Cache-Control: max-age=60
Expires: Fri, 30 Jul 2004 05:50:47 GMT
Content-Length: 180747
Content-Type: text/html
Age: 37
X-Cache: HIT from sqsh-230.sina.com.cn
Connection: close
上面是sina的http头的反馈信息。里面有很多有价值的东东哦:)譬如,它后面的apache是用2.0.49,还设了过期时间为2分钟。最后修改时间。这些都是要在编译apache的时候载入的,特别是Last-Modified还需要小小的改一把源码–至少我是这样做的。
综上所述
sina的架构应该是前面squid,按照现在的服务器2u,2g内存一般每台服务器至少可以跑4个squid2.5stable5. 这样它16个ip就用了4台服务器。后面一层是apache2.0.49应该会用2台。这2台可能用的全是私有ip,通过前面的squid服务器在 hosts文件中指定。具体的实现方法我会下次整理出我做实验的文档:)而apache的htdocs可能是有一个或2个磁盘阵列作nfs。apache mount nfs server的时候应该是只读的,然后另外还有服务器转门用来做编辑器服务器,用来编辑人员更新文章。这台服务器应该对nfs server是具有可写的权限。
—-这就一套完整的sina所运用的方案,当然很多是靠猜测的,我没有和sina的技术人员有过任何沟通(因为一个也不认识),否则我也就不会写出来了。其他sohu,163应该也有这样的架构。
最后声明:这只是一些静态页面组成频道的一个架构,sina还有很多其他服务器,什么下载,在线更新等不在这个架构中。


最近评论