我想使用我的主机名在本地提供我的网站。它现在是乱码,但我网络中的人可以访问它。假设我的主机名是
>hostname
ABCabcABC
而且,如果我的当地人打开浏览器并打开http://ABCabcABC
,他们就可以访问我的网站。
我希望我的网站能够被访问,比如说,http://aaa
我尝试使用命令更改主机名hostname
。但没有成功。
我尝试创建一个新的 VirtualHost 文件并输入一个新的“ServerName”值,但它也不起作用。
我怎样才能解决这个问题?
提前致谢。
答案1
基本上,您需要为您的网络提供域名服务,以便计算机知道如何将名称转换为 IP 地址。
1) 设置一个可以链接aaa
到机器的 DNS 服务器,并让网络上的每台计算机都使用此 DNS 服务器进行解析。您还可以将其设置为缓存 Web 条目,这样可以稍微提高网络性能,并允许您在将来添加其他名称。
2) 添加到解析到特定 IP 的/etc/hosts
文件(或hosts
Windows 上)aaa
。解析效果与上述相同,aaa
但没有其他好处,如果要添加,bbb
则必须再次访问每台机器。
该hostname
设置仅仅是计算机自身的名称,它并不能帮助网络上的任何其他计算机通过名称找到它。
实际上还有第三种选择,如果您使用自定义 DHCP 服务器(即不是路由器,而是基于 *nux 的守护程序),您可以将 DHCP 服务器与 DNS 服务器配对,这样当主机分配 IP 地址时,其名称和 IP 会自动添加到 DNS 服务器...这实际上允许通过文件进行连接hostname
。
市场上有一些我没试过的轻量级 DNS 服务器,其中最重量级的两个是PowerDNS
和Bind
方法 1 和 2 允许您将多个名称指向同一台计算机,方法 3 允许第一个名称自动注册,但您必须手动编辑区域(如方法 1 中所述)才能让多个域指向同一台机器。
答案2
这就涉及到 DNS 问题。设置自己的 DNS 服务器是一个相当复杂且耗时的过程,因为您需要有 2 台物理机器,它们各自拥有自己的 IP 地址,并且彼此的 IP 不同,DNS 才能正常工作。
一个快速而简单的解决方法是将你的 DNS 需求外包给 DNS 提供商。我非常满意https://dnsimple.com/这是最优质的服务,价格也很合理。在尝试了 5 家不同的公司后,这是最好的公司之一。
此外,请查看我关于 apache2 上的虚拟托管的文章。我包含了指令的格式化工作结构。也许这会对你有所帮助。