周五利用晚上的时间将博客换了个主机,今天就来谈谈与网站相关的一些事。先提前声明,今天的文章不涉及任何代码,如果是想知道网站怎么搭建,可以查看http://macshuo.com/?p=547,我的博客就是按照这篇教程搭建的,讲的很详细。今天主要科普一下网站相关的知识
我们每个人每天都会访问各种网站,比如百度、新浪微博、QQ空间等,不管是这些大型网站,还是一些小的个人站点,比如我的http://littlewhite.us,他们的基本原理都是差不多的。搭建一个网站,首先需要这三样东西
- 域名
- 主机(也可以叫服务器)
- 相关服务(操作系统等)
域名是什么呢,就是网站的地址,比如www.baidu.com、www.sina.com等等,主机是这些网站内容存放的地方,当你访问一个网页时,其实是在访问它们主机上的内容,这些主机和我们的个人电脑不同,它们的主要功能是对外提供服务,不需要图形窗口,它们拥有更强劲的性能,当然价格也比我们所使用的个人电脑贵很多,不信你上京东搜搜服务器,价格动辄几千上万,而大型网站的主机往往是由若干机房组成,每个机房可能有几千台服务器,所以别看你访问百度只有那个简单的页面,其实它背后有成千上万的服务器在运转,机房最大的开销还不是买服务器花的钱,而是电费,因为这些大型服务器性能强劲,所以发热也很厉害,当几千台这样的机器放在一个一起时,如果不及时散热,机器分分钟就烧坏了,所以机房的空调是二十四小时不停运转的,每小时几千块的电费是家常便饭,我在百度时就遇到过一次某个数据机房出问题,导致数PB(1PB=1024TB=1024*1024GB,自己算算,总之PB是很大的单位)的数据丢失,原因是机房的空调坏了。。好了,扯远了,回到正题
那这些主机是如何被访问到的呢,首先它们得有一个公网IP,IP是互联网世界的门牌号,有了IP就知道这些主机在什么地方,比如百度的IP是119.75.217.56,你可以试试在浏览器地址栏输入这个IP,看看打开的是不是百度,但是我们在访问网站时,如果都是要通过IP访问,那实在是太为难用户了,本着用户至上的原则,互联网的那些先驱们就想出了一个办法,那就是通过域名去访问,但是通过域名怎么知道IP呢,别急,那些老家伙早就想到了,它们搞出了一个叫做DNS服务器的东西,专门负责告诉你域名和IP的对应关系,所以我们访问网站的流程是这样的
- 在浏览器输入www.baidu.com
- 浏览器请求DNS服务器,得到IP地址为119.75.217.56
- 浏览器像119.75.217.56发起请求
- 119.75.217.56收到请求,返回数据
整个流程简化一些大致就是这样的。我们可以将互联网世界和现实世界做一个类比,那些具有公网IP的服务器就是一个商店,它们的IP地址就是商店的具体地址,详细到城市街道门牌号,网站的域名就是商店的名字,要想找到这个商店你得知道它的门牌号,但是我们往往我只记住商店的名字,然后再通过某些手段(比如通过地图搜索)得到商店的具体门牌号,这样我们就能找到商店了。小型的网站就好比小卖部,大的网站就好比商场,到达那里的方式都是一样的。
最后是主机上的服务,就好比商店的装修和商品,现在互联网上的主机大多数都使用的Linux操作系统,当然也有windows操作系统的,但是windows服务器的在互联网的分量就好比windows phone在移动设备的分量一样,属于小众型的。Linux是什么,普通用户不必了解,只需要知道它很牛逼,几乎整个互联网就是搭建在它之上的,更重要的是,这么牛逼的东西,它竟然还是免费的,要知道你每买一台windows笔记本,这其中有几百块钱是花在了操作系统上,而Linux和互联网免费共享的精神是共通的,这也足见它的伟大之处。除了操作系统,还需要一些提供服务的程序,比如nginx,MySQL,PHP等,这里就补详说了。
最后说一下搭建一个简单的网站需要做哪些事。还是以刚刚的类比来描述,首先你得买一个商店(主机),买了之后你就知道了它的具体地址(公网IP),然后你要去给商店买一个名字(域名),并且去办理注册手续(设置域名解析),如果你是在国外注册的,那恭喜你,装修一下商店挂个牌子就可以用了,如果是在国内注册的,你得去工商局备案,以免你干了什么坏事天朝好捉拿你归案
好了,大致就是这些,希望能让用户对网站有一些感性的认识