网站搭建从零开始(四)域名解析设置

系列博客说明

《网站搭建从零开始》系列博客 http://www.paincker.com/tag/website-primer

对于完整的学习,强烈建议先阅读《网站搭建从零开始(〇) 内容概要与学习方法》 http://www.paincker.com/website-primer-0


前面已经介绍了网站搭建的两大要素:域名和服务器,而域名解析,就是把域名和服务器进行绑定的过程。

基础知识

实际访问网站时,确定从哪台服务器获取网页,对于计算机来说是通过IP地址实现的。由于IP地址是数字形式,为了便于人们记忆,所以使用了域名和网址机制。

域名->IP地址:在访问网络时,网址会被发送到DNS服务器,然后由DNS服务器返回我们所要访问的服务器IP地址,从而进行访问。这是DNS的工作原理,也是之所以需要设置域名解析的原因。我们要在DNS服务器上设置域名解析,让域名指向服务器空间所在的IP地址。

IP地址->域名:一台服务器上可能有多个网站,或者是子网站,他们共用一个IP地址。这时,我们请求的数据被服务器接收到,服务器需要根据判断网址中的域名来判断返回哪个站点的数据。所以我们还要在自己的服务器空间上绑定自己的域名。即域名和服务器空间的绑定关系是双向的。

配置方法

域名解析的配置分为三个部分内容:

  • 给域名设置DNS服务器(在域名提供商网站中进行)
  • 在DNS设置域名解析(在DNS服务提供商网站中进行)
  • 在服务器空间设置绑定域名(在服务器空间面板中进行)

这三者没有先后关系,但是都设置好才能完成域名解析。

给域名设置DNS服务器

DNS服务常见的都是可以免费使用的,提供DNS服务的如Godaddy,国内的DNSPOD等。如果你是从Godaddy购买的域名,可以直接使用Godaddy的DNS服务,也可以设置成国内的DNSPOD。

下图是Godaddy购买了域名之后登陆账号显示的信息,点击域名产品右侧的Launch即可进入设置界面。

设置界面最常用的一项就是下图中的Nameservers,默认的是Godaddy自己的DNS域名服务器网址,图中我修改成了DNSPOD的地址。

如果使用Godaddy的域名服务器,不需要修改Nameservers,直接点击进入DNS Zone File进行设置。不同的域名服务提供商的设置方法基本相同。

设置DNS服务器的域名解析

下面是DNSPOD中域名解析的设置方法。

首先注册账号并登录,进入界面点击添加域名,按照说明输入你注册的域名,如paincker.com,不需要加http和www,然后点击域名进去设置。

选择添加记录,这里有几个选项。

  • 记录类型。最常用的记录类型主要是A记录、CNAME记录,记录类型的含义见下图。
  • 主机记录、记录值。设置由 主机记录 指向 记录值
  • TTL。TTL是DNS服务器上刷新记录的时间间隔,如果需要频繁更改IP,记录时间可以短一些,否则应该设置长一点,这样一定程度上会加快访问速度。不了解的话,直接用默认值即可。

我们添加两条记录。

  • 记录类型:A记录;主机记录:@,表示http://paincker.com;记录值:服务器空间的IP地址(空间提供商会给出这个IP地址)。
  • 记录类型:A记录;主机记录:www,表示网址http://www.paincker.com;记录值:还是上述IP地址。
  • 第2条记录也可以写成:CNAME类型,由www指向@

如果不需要别的子域名、邮件等服务,DNS就已经设置好了。如图,其中有两项是NS类型记录,即域名记录。

服务器空间对域名的绑定

URL解析与重定向

假设域名 www.paincker.com 绑定了服务器空间,且网站根目录为空间中的/mysite/目录。

  • 默认情况下,输入网址www.paincker.com,打开/mysite/index.html;如果没有,则打开/mysite/index.php文件(对于运行php的服务器来说)。
  • 如果没有index.htmlindex.php,根据服务器的设置,可能会显示这个文件夹的文件列表。
  • 输入网址www.paincker.com/folder,则默认打开/mysite/folder/文件夹中的相关文件,规则同上。
  • 可以通过设置.htaccess文件改变上述规则,这里不做详细说明。
  • 网站程序可以重定向URL,改变上述规则。

确定网站根目录

绑定域名的时候,会让你选择站点根目录,然后绑定一个域名。

  • 如果你只有一个网站,可以直接把站点根目录设置为空间根目录,并绑定域名,即paincker.com绑定到/
  • 如果你觉得这样不方便,有点乱,你也可以设置绑定到一个子目录,例如paincker.com绑定到/my_website/
  • 即使只有一个网站,也推荐使用后者。因为在空间根目录下可能还有备份等其他文件,使用前者则这些文件暴漏在网站根目录下,则通过网址可以访问,不够安全。

下图是我的网站设置。

测试域名解析是否成功

设置完成后记得保存。如果你很激动的马上访问你的域名,可能会发现提示域名错误等,这是因为这些设置并没有立即刷新,需要等待几分钟直到全球的DNS服务器都进行了刷新才行。

如果你只设置了DNS,把域名指向服务器IP,没有设置空间绑定域名,这时可以用cmd的ping命令ping到服务器IP,但不能访问网页。

一开始我只买了域名还没有主机,看到CNAME可以设置域名指向另一个网址,然后就尝试设置主页指向百度,一直没成功。直到后来才知道,原来主机和域名是需要相互绑定才能访问的。

有些服务器空间会自动放置了一个默认的index.html到网站根目录,用浏览器访问网址就能显示index.html的内容。如果空间里面现在还没有内容,可以自己上传一个index.html文件到站点根目录。

下一篇将会开始讲解在服务器上搭建网站的知识。