CentOS本地host修改配置IP域名之间解析

有些话、适合烂在心里 提交于 2020-03-02 05:06:28

在进行web开发的时候,通常需要以http://localhost或者127.0.0.1之类的访问本地环境的网站。但是,如果本地放的网站多了,不得不做别的操作,比如端口设置。结果不容易记住啦。

我在本地之用的是ubuntu+nginx环境,nginx允许设置多个域名,只需要分别指向不同的存储位置即可。那么,接下来就要如何设置一个自己选定的域名,同时这个域名只访问本地某个网站呢?

在windows中,有一个文件:system32/drivers/etc/host,在这个文件里,可以配置域名指向本地IP,从而实现上述目的。

在ubuntu里面(一般linux都如此),则是在/etc下查找hosts文件,这个就是相当于那个host文件一样的存在。如果没有的话,就自己新建一个。

sudo vi /etc/hosts

添加你需要的项,格式如下:

<IP> <HOSTNAME>.<DOMAIN> <ALIAS>

以下是我做的一些配置:

127.0.0.1 www.v.com #在我的计算机浏览器中输入www.v.com域名,就可以访问我本地指定的网站。当然仅限于本地。不了解内情的还以为我注册了www.v.com这个域名呢。
127.0.0.1 www.b2b.com
127.0.0.1 www.itdiffer.org
127.0.0.1 www.weixin.com

要注意的是,Nginx中,要做好conf配置,让这些域名有所访问的对象。

 

 

修改/etc/hosts之后正常情况应该是保存之后立即生效的,但是有时不是。使用uname -a 可以查看hostname是多少,就可以知道是否修改生效了。如果没有
这时的策略有:
1) 重启机器
2) 重启服务
      Ubuntu: $sudo /etc/init.d/networking restart

      Gentoo: /etc/init.d/net.eth0 restart

3)使用hostname命令

        hostname 定义的主机名

 

hostname与/etc/hosts的关系

很多人一提到更改hostname首先就想到修改/etc/hosts文件,认为hostname的配置文件就是/etc/hosts。其实不是的。

hosts文件的作用相当如DNS,提供IP地址到hostname的对应。早期的互联网计算机少,单机hosts文件里足够存放所有联网计算机。 不过随着互联网的发展,这就远远不够了。于是就出现了分布式的DNS系统。由DNS服务器来提供类似的IP地址到域名的对应。具体可以man hosts。

Linux系统在向DNS服务器发出域名解析请求之前会查询/etc/hosts文件,如果里面有相应的记录,就会使用hosts里面的记录。/etc /hosts文件通常里面包含这一条记录

127.0.0.1    localhost.localdomain   localhost
hosts文件格式是一行一条记录,分别是IP地址 hostname aliases,三者用空白字符分隔,aliases可选

127.0.0.1到localhost这一条建议不要修改,因为很多应用程序会用到这个,比如sendmail,修改之后这些程序可能就无法正常运行。

 

本文部分内容借鉴了:

http://blog.51cto.com/jschu/1746411

http://blog.sina.com.cn/s/blog_605f5b4f0101847z.html

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!