build立一个本地DNS服务器

我在本地networking上运行Apache2的networking服务器。

我可以通过http:// myserver /访问它。 我有多个Web应用程序在服务器上的文件夹,所以当我想要访问app1或app2我把http:// myserver / app1http:// myserver / app2

我想设置我的服务器的方式,我可能能够访问应用程序,如http://app1.myserver或类似的东西。

我敢打赌,为了实现这一点,我需要设置一个本地DNS服务器或修补程序类似mod重写。 你会select什么方法? 我既没有DNS服务器也没有mod重写的经验。

感谢您的回答。

Dns可以通过networking传播名字。 所以,是的,如果你想把app1.myserver转换成<192.168.1.1>,你需要一个DNS服务器。 但是,如果你是唯一使用这个(或为了testing目的)的人,你可以简单地修改本地计算机上的hosts文件并添加一个条目

192.168.1.1 app1.myserver 

现在,如果您有3个应用程序:app1.myserver,app2.myserver和app3.myserver。 当您使用http://app1.myserver连接到其中一个浏览器时,浏览器将发送一个包含“主机”标题的HTTP请求。 这个主机头有值“主机:app1.myserver”。

Apache收到您的HTTP请求,查看主机头,并将请求引导至良好的应用程序。 这就是所谓的虚拟主机,这是你创buildApache的虚拟主机时所要做的。

所以,你不需要mod_rewrite,一个基本的Apache2服务器,和一个本地主机文件(或DNS),你都设置好了。

解决方法:

在描述场景(在家本地开发)时,最快的方法是在您的机器上手动设置DNS条目 。 这样你可以避免build立一个DNS服务器。 (为什么花2个小时设置一个DNS,只要2分钟就可以完成)

你必须在networking中的所有机器上手动添加一个条目到Hosts文件(我猜是你的服务器和你的电脑)。 如果你的服务器是192.168.0.10,你的本地机器是192.168.0.9

您必须在两台机器中添加一个条目,类似于:

  • 192.168.0.10 app1.myserver
  • 192.168.0.10 app2.myserver

这样当你可以访问你的应用程序为http://app1.myserverhttp://app2.myserver

怎么做?

  • 如果机器是Windows,则必须在C:\ Windows \ system32 \ drivers \ etc \ hosts中添加条目
  • 如果是Linux,则转到/ etc / hosts

在这里你有不同的操作系统的更多信息: http : //en.wikipedia.org/wiki/Hosts_%28file%29