IIS默认的错误页是很不友好的,很多人看到默认的错误页时都会说:网站打不开了!白白损失了这部分流量。而如果错误页直接跳转到首页又对搜索引擎很不友好,搞不好首页还会被封掉。所以根据情况,有两个方法解决这个问题:
1、如果是博客等内容型的网站,可以返回一个带有404错误的搜索框让访客搜索,若是电子商务型网站,则可以返回一个带有404错误的进度条进行跳转。这两种方法即照顾了访客又顾及到了SEO。
2、可以在Google webmaster tools中查看自己网站错误页有多少。
修改默认错误页的方法很简单:在IIS中右键单击要管理的网站,在自定义错误中设置404为相应的错误信息页。这里有两种方式:
1、如果“消息类型”你选择的是“文件”,则只能使用.html或htm结尾的文件,否则用户访问错误页时会出现代码。用这种方式设置的错误页,虽然.html文件中没有输出404状态,但IIS执行后会自动输出404状态。
2、如果你“消息类型”选择了“URL”,则必须用asp文件(因为只有在asp文件中才能设置404状态),否则访问错误页时会返回200状态码。还要在asp文件中加上:
如果你希望定时跳转到首页,则也有两种方法:
1、利用meta标签的refresh进行跳转
据Google中文博客管理员介绍,Yahoo就使用的此方法进行跳转。
2、使用js进行跳转
个人感觉使用js的方法好一些,因为meta标签跳转担心搜索引擎会识别为“200”或“302”见这里的这段话:
常常看到许多网站的自定义404错误页面采取类似这样的形式:首先显示一段错误信息,然后,通过Meta Refresh将页面跳转到网站首页、网页地图或其他类似页。根据具体实现方式不同,这类404页面可能返回“200”状态码,也可能返回“302临时重定向”,但不论哪种,从SEO技术角度看,均不是一种合适的选择。
对“200”状态的情况我们上面已经谈过,那么,当404页面返回“302”时,搜索引擎会怎么对待呢?从理论上说,对“302”错误,搜索引擎认为该网页是存在的,只不过临时改变了地址,仍然会索引收录该页,这样,同样会出现类似于“200”状态码时的重复文本问题;其次,以google为代表的主流搜索引擎对302重定向的适用范围要求越来越严格,这类不当使用302重定向的情况存在很大的风险。
在网上看到的几个注意点:
1、切记不要将404错误转向到网站主页,否则可能会导致主页在搜索引擎中消失。
2、切记不要使用绝对URL,如果使用绝对URL返回的状态码是“302”+“200”。
3、在“消息类型”中一定要选择“文件”或“默认值”,而不要选择“URL”,不然,将导致返回“200”状态码(这点与我自己的不一样,我选择了相对URL,最终用firebug测试的结果是404)
官网:http://www.centos.org/
CentOS其实是Redhat的内核,感觉是会成熟稳定一点,相比旧Redhat,他多了一个yum的命令,学Debian一样自动安装软件;但我感觉CentOS的可以Yum的东西相比Debian或Ubuntu,实在太少了;CentOS游走在年轻与成熟之间,它比Ubuntu更注重安全性,你看他的CentOS5.0默认一装好就自带并打开防火墙就知道;而且有一个叫SELinux的东东在里面,让不同的程序之间权限有所限制,这也是我装CentOS一些软件经常莫名奇妙地告诉我“没有权限”的一个原因。后来因为一些软件搞了一夜,都没有搞成功,比如VSftp+PAM_MYSQL的认证,一气之下把他格掉了。
官网:http://www.ubuntu.org.cn/
Ubuntu就是Debian的延续版,apt-get自动安装、更新软件的方式,是Debian首创(应该是他吧!)相比起来,他的apt-get软件库及源强大很多,也多很多,我们的服务器除了一个magickWand(imageMagick的PHP API),其它东西全部都是apt-get下来的,安装不需要一分钟;感觉Ubuntu更加自由,小巧,灵活,有点年轻人的感觉。
使用心得:新版的Ubunt7.10(就是我们现在的版本),比起6.10,多了一个非常实用的功能,就是你选择你所在的地区时,比如我选中国,那安装完后你的源就自动变成了中国的源了!这个非常爽,不用再到处去找别的源来代替了。另外源一定要注意,不要乱改,我们就曾经因为改乱了,导致软件版本全部搞乱了,一气之下我昨天又跑去重装了一遍,这才恢复。
另外:如果当你apt-get失败的时候,错误信息是E:Broken Package时,如何处理?我在google找了好久没有找到答案的,后来自己实践,发现原来就是源的问题,他在源上找不到一些Depends on关系的包,就装不成功了。这时候可以试下换其它的源,但注意一定要保持原备份!我觉得官方的源就已经相当齐全,不是万不得已一般不要轻易改掉。注意换了源之后要apt-get update一下。
还有一个心得就是,CD-Rom里放置着系统的安装碟,也是一个挺不错的源哦!很多软件不用上网下载,直接在碟内就是很新的版本,也是个不错的选择。
官网:http://www.gentoo.org/
Gentoo呢,估计是性能最好的,因为他安装超麻烦;据说他的理念就是,让你明白Linux的每一样东西是如何出来的!全部由你定制来决定!但因为其实谁都厌倦了烦琐,这个版本是正在衰落中。
官网:http://www.freebsdchina.org/
FreeBSD是另外一种内核,不属于Linux了,我们以前百步梯的服务器就是采用FreeBSD的了,据说是性能最强劲的。但内核不一样,我们这次不敢尝试。
Linux 最早由Linus Benedict Torvalds在1991年开始编写。在这之前,Richard Stallman创建了Free Software Foundation(FSF)组织以及GNU项目,并不断的编写创建GNU程序(此类程序的许可方式均为GPL: General Public License)。在不断的有杰出的程序员和开发者加入到GNU组织中后,便造就了今天我们所看到的Linux,或称GNU/Linux。
Linux的发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的Redhat(RHEL)为代表,后者以Debian为代表。下面介绍一下各个发行版本的特点:
Redhat,应该称为Redhat系列,包括RHEL(Redhat Enterprise Linux,也就是所谓的Redhat Advance Server,收费版本)、Fedora Core(由原来的Redhat桌面版本发展而来,免费版本)、CentOS(RHEL 的社区克隆版本,免费)。Redhat应该说是在国内使用人群最多的Linux版本,甚至有人将Redhat等同于Linux,而有些老鸟更是只用这一个版本的Linux。所以这个版本的特点就是使用人群数量大,资料非常多,言下之意就是如果你有什么不明白的地方,很容易找到人来问,而且网上的一般Linux教程都是以Redhat为例来讲解的。Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分发方式是编译好的二进制文件。稳定性方面RHEL和CentOS的稳定性非常好,适合于服务器使用, 但是Fedora Core的稳定性较差,最好只用于桌面应用。
Debian,或者称Debian系列,包括Debian和Ubuntu等。 Debian是社区类Linux的典范,是迄今为止最遵循GNU规范 的Linux系统。Debian最早由Ian Murdock于1993年创建,分为三个版本分支(branch): stable, testing 和 unstable。其中,unstable为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。testing的版本都经过unstable中的测试,相对较为稳定,也支持了不少新技术(比如SMP等)。而stable一般只用于服务器,上面的软件包大部分都比较过时,但是稳定和安全性都非常的高。Debian最具特色的是apt-get / dpkg包管理方式,其实Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发行方式中,APT应该是最好的了。Debian的资料也很丰富,有很多支持的社区,有问题求教也有地方可去:)
Ubuntu严格来说不能算一个独立的发行版本,Ubuntu是基于Debian的unstable版本加强而来,可以这么说,Ubuntu就是 一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的 Linux桌面系统。根据选择的桌面系统不同,有三个版本可供选择,基于Gnome的Ubuntu,基于KDE的Kubuntu以及基于Xfc的 Xubuntu。特点是界面非常友好,容易上手,对硬件的支持非常全面,是最适合做桌面系统的Linux发行版本。
Gentoo,伟大的Gentoo是Linux世界最年轻的发行版本,正因为年轻,所以能吸取在她之前的所有发行版本的优点,这也是Gentoo 被称为最完美的Linux发行版本的原因之一。Gentoo最初由Daniel Robbins(FreeBSD的开发者之一)创建,首个稳定版本发布于2002年。由于开发者对FreeBSD的熟识,所以Gentoo拥有媲美 FreeBSD的广受美誉的ports系统 ——Portage包管理系统。不同于APT和YUM等二进制文件分发的包管理系统,Portage是基于源代码分发的,必须编译后才能运行,对于大型软件而言比较慢,不过正因为所有软件都是在本地机器编译的,在经过各种定制的编译参数优化后,能将机器的硬件性能发挥到极致。Gentoo是所有Linux 发行版本里安装最复杂的,但是又是安装完成后最便于管理的版本,也是在相同硬件环境下运行最快的版本。
最后,介绍一下FreeBSD,需要强调的是:FreeBSD并不是一个Linux系统!但FreeBSD与Linux的用户群有相当一部分是重合的,二者支持的硬件环境也比较一致,所采用的软件也比较类似,所以可以将FreeBSD视为一个Linux版本来比较。FreeBSD拥有两个分支: stable和current。顾名思义,stable是稳定版,而 current则是添加了新技术的测试版。FreeBSD采用Ports包管理系统,与Gentoo类似,基于源代码分发,必须在本地机器编后后才能运行,但是Ports系统没有Portage系统使用简便,使用起来稍微复杂一些。FreeBSD的最大特点就是稳定和高效,是作为服务器操作系统的最佳选择,但对硬件的支持没有Linux完备,所以并不适合作为桌面系统。
下面给为选择一个Linux发行版本犯愁的朋友一些建议:
如果你只是需要一个桌面系统,而且既不想使用盗版,又不想花大量的钱购买商业软件,那么你就需要一款适合桌面使用的Linux发行版本了,如果你 不想自己定制任何东西,不想在系统上浪费太多时间,那么很简单,你就根据自己的爱好在ubuntu、kubuntu以及xubuntu中选一款吧,三者的 区别仅仅是桌面程序的不一样。
如果你需要一个桌面系统,而且还想非常灵活的定制自己的Linux系统,想让自己的机器跑得更欢,不介意在Linux系统安装方面浪费一点时间,那么你的唯一选择就是Gentoo,尽情享受Gentoo带来的自由快感吧!
如果你需要的是一个服务器系统,而且你已经非常厌烦各种Linux的配置,只是想要一个比较稳定的服务器系统而已,那么你最好的选择就是CentOS了,安装完成后,经过简单的配置就能提供非常稳定的服务了。
如果你需要的是一个坚如磐石的非常稳定的服务器系统,那么你的唯一选择就是FreeBSD。
如果你需要一个稳定的服务器系统,而且想深入摸索一下Linux的各个方面的知识,想自己定制许多内容,那么我推荐你使用Gentoo。
服务器操作系统应该选择 Debian/Ubuntu 还是 CentOS ,CENTOS现在市场占有率第一了
【小议】centos与ubuntu的区别
CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。
Ubuntu是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词(译为吾帮托或乌班图),意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu基于Debian发行版和GNOME桌面环境,与Debian的不同在于它每6个月会发布一个新版本。Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。Ubuntu具有庞大的社区力量,用户可以方便地从社区获得帮助。
两者同为目前版本中个人和小团队常用的服务级操作系统,在线提供的软件库中可以很方便的安装到很多开源的软件及库。 两者都使用bash作为基础shell,所以在很多基础命令上,ubuntu与centos的差别不是很明显,而ubuntu在桌面界面上要做的更为出色,很多人如果是从兴趣出发而学习linux的首选一般都是ubuntu,毕竟很多人还是很习惯在桌面图形下操作的。Centos与Ubuntu的使用习惯和命令上还是有很多的不同,下面简单列举一下:
1.centos中新建的非root用户是没有sudo的权限的,如果需要使用sudo权限必须在/etc/sudoers 中加入账户和权限,所以切换到root账号的时候只需要输入:su,加入root账号的密码即可。
在Ubuntu中,一般使用sudo+命令,如果是第一次使用会提示输入当前用户的密码(而不是root的密码)
2.在线安装软件中,centos使用的是yum命令,而ubuntu中使用的是apt-get命令。除此之外yum中还有一个从软件源中搜索摸个软件的方法:yum search +软件名
3.centos是来自于redhat,所以centos支持rpm格式的安装,而ubuntu显然是不支持的。
4.毕竟是不同的公司做的不同的发行版,很多配置文件的位置和默认的文件路径都有很大区别,这个需要使用过程中慢慢体会了。
以下是补充:
作为一个庞大的系统运营商,在很长的一段时间里,我们需要在多种大型系统中找到一个可靠的,可预测的系统,我们需要从世界上最强大的软件供应商和开源项目中获得强有力的支持。对于那些最常用的系统,我们需要文档,工具和全球性资源。
正因如此,RedHat/CentOS系列发行版正是我们的选择。他们能够满足以上所有需求,而且问题相对较少、长期稳定,这使得我们能够为成千上万的运行了不同配置、服务和应用的系统提供世界级的维护。
RedHat Enterprise Linux (RHEL)是黄金标准的企业发行版。它每五年左右更新一次,在系统的稳定性,前瞻性和安全性上有着极大的优势。每当新的主版本发行后,比如 5.x亦或最近的6.x,所有版本和代码都将保留不变,只有安全问题或是主要的bug,例如后门,端口之类的问题,会通过发布新的子版本来修复。
CentOS是RHEL发行版对应的开源版本,通常在RedHat的发布后就会很快发行。我们使用CentOS的原因在于RHEL发行版的标准支持服务费用非常高,大约每台服务器800美元左右,对于我们很多拥有数十台甚至上百台服务器的用户来说,这是必须要控制的成本。
RHEL/CentOS系统有两个潜在的问题。
首先,一旦确定了主版本,除了安全问题和严重故障会被修复以外,其他内容将不会做任何改变。这虽然对稳定性有好处,但是对许多服务不利。比如MySQL和PHP服务,它们在这五年的CentOS/RHEL主版本发布周期中会进行繁重的开发和大量的修改。例如,MySQL5.0 是当前RHEL/CentOS主版本所默认使用的版本,但是当前MySQL已经更新到5.1和5.5版本了。
幸运的是,这个问题被Yum软件包管理器轻易地解决了。如此以来,那些主要的软件,例如当前RHEL/CentOS中实际的组件,包括内核和所有工具等仍然来自发行版, 但是那些附加的软件,例如Nginx,Apache,PHP,Java和MySQL等等来自更新的软件源例如Fedora; 或者直接从开发商获取更新的版本例如MySQL. 在我们这里,我们有自己专用的安装镜像来全自动的处理所有这些事情。
其次,CentOS的发行会滞后于RedHat的发行,包括关键的补丁和修复。这在RHEL 6.x的发行周期中尤为显着。但是根据我们的经验,这没什么好担心的,对我们来说永远不会成为问题。
很多人询问我们为什么不用基于Debian的系统,例如Debian或者Ubuntu服务器。如果在别无选择的情况下,我们的确会支持这个建议,但是根据我们的经验来看,这些系统并不如RHEL/CentOS来的稳定和可靠。
我们认为,这在某种程度上是由于他们过快的发展和各个版本、组合之间较少的测试且不成熟所导致的。然而尽管他们非常流行,但是主要的服务商和项目都仍然首选RHEL/CentOS系统,因为这样他们就可以为企业顾客提供服务,(对Oracle和MySQL更是如此)。除此之外,基于Debian的系统有许多内核和稳定性问题,尤其是在我们的云计算服务中。
对我们而言,唯一使用Debian/Ubuntu的原因是:
“它们能够为一个系统提供必要的特殊服务时,尤其是当一些驱动程序或者一些IO 子系统需要一种新的内核的时候”.例如,ext4文件系统或在最近的内核中日志的改变等;现在,所有这一切都包含在了RHEL/CentOS6.x中。
当然,多数Linux开发者都使用的是Ubuntu的桌面版,而且可以理解的是,他们更倾向在开发生产时使用相同的系统,并且还能使用很多有趣的工具。但总体上来说,我们依然认为RHEL/CentOS是一个更优越的部署平台,并且已经有十多个客户成功地转向使用CentOS作为生产环境并且没有任何问题,但这仍然是艰巨的任务。
总的来说,你将更乐于看到一个良好管理的CentOS 系统。我们有成千上万台服务器使用CentOS平台,而每年平均只有一台服务器崩溃。我们也很难想象它竟如此罕见,所以,挑一个优秀、迅捷、可靠的平台吧!