我在 XP 上运行 Apache 2.2。我想设置 Apache,以便拥有不同的测试站点(每个站点监听不同的端口),以供我内部(家庭网络)上的其他计算机访问。
我已设法设置不同的虚拟主机(全部使用端口 80),然后我使用主机文件提供服务器名称,例如:
127.0.0.1 本地主机 127.0.0.1 test.php.localhost 127.0.0.1 phpmyadmin.localhost
ETC
这在我的本地机器上运行良好,因为我可以访问http://phpmyadmin.localhost/(例如,在我的本地机器上。但是,当我转到另一台机器时,我无法输入http://phpmyadmin.localhost/我只能打字http://[服务器.ip.地址]在这种情况下,它会给我我的 httpd.conf 文件中列出的第一个网站。
我有两个(可能相关的)问题
- 我需要做什么才能访问http://phpmyadmin.localhost/从局域网中的另一台机器(这仅仅是修改每台机器上的主机文件的情况,还是更复杂?)
- 如何从我的网络中的一台机器访问特定网站(在我的本地服务器上),而不是自动分配到 httpd.conf 中列出的第一个网站?
答案1
我需要做什么才能
http://phpmyadmin.localhost/
从局域网中的另一台机器进行访问(这是否只是在每台机器上修改主机文件的情况,还是更复杂?)
本地主机在每台计算机的 hosts 文件中都有自己的条目 - 它指向特殊的环回 IP 地址127.0.0.1
,或本地计算机。当127.0.0.1
浏览器发出任何请求时,任何给定的计算机都会在本地(自身)查找,并且由于您已将所有主机条目指向,因此127.0.0.1
您无法将此配置复制到其他计算机上,您必须使用主机的面向公众的 IP。
您应该在本地网络上托管 DNS 记录,或者更简单地更改每个客户端计算机的 hosts 文件C:\WINDOWS\system32\drivers\etc\hosts
192.168.1.72 phpmyadmin phpmyadmin.mymachine testing.somemachine
这将使所有请求http://phpmyadmin/
直接指向 IP 地址192.168.1.72
如何从我的网络中的一台机器访问特定网站(在我的本地服务器上),而不是自动分配到 httpd.conf 中列出的第一个网站?
确保你已经配置了主机文件 - 如果你正在使用基于名称的虚拟主机您需要使用相关的服务器名称(即上面的 phpmyadmin)访问服务器,以便服务器可以在 vhost 配置中搜索该服务器/别名并加载适当的数据。