因此,我在 Ubuntu VM 中创建了一个 wordpress 网站,并将其本地托管在那里。我按照网上能找到的所有教程操作,但都无济于事,因此我将尝试在描述中尽可能详尽。
- 我需要从网络上的其他计算机访问该网站,因此我认为我应该先从运行 Windows 10 的主机访问该网站。
- 我确保我的虚拟机运行的是桥接模式,而不是 NAT 模式
- 在我的虚拟机中,
/etc/hosts
我将其更改127.0.0.1
为site.local
而不是localhost
- 在我的主机的主机文件中,我添加了
192.168.1.139 site.local
,其中这是我的 VM 的 IP,通过运行确定ifconfig
。 - 在我的
apache2
conf 文件中,我根据在线找到的解决方案做了一些更改,但都没有奏效,所以我恢复了更改。我知道这不太具描述性,但我尝试了来自多个来源的解决方案,因此变得有点复杂。 - 在我的虚拟机中,如果我转到 ,
site.local/wordpress
它会重定向到localhost/wordpress
。文件localhost
中不再定义。或 也是hosts
如此。 它们都重定向到。127.0.0.1/wordpress
192.168.1.139/wordpress
localhost
- 在我的主机上,我可以
192.168.1.139
在浏览器中输入并查看 Apache2 Ubuntu 默认页面。如果我输入,我会http://site.local
看到the requested URL [no URL] is invalid.
如果我输入192.168.1.139/wordpress
,它会重定向到localhost/wordpress
并显示The site can't be reached. localhost refused to connect
。 - 我
777
为我的 wordpress 文件夹授予了权限,但没有任何效果。 - 我的主机可以成功 ping 通虚拟机的 IP
- 我在 Windows 机器上设置了一条新规则,监听端口 80 上的 TCP 连接
这就是我目前的情况。我希望我已经描述得足够详细了。本质上,我可以连接到虚拟机,因为我可以访问 Apache2 Ubuntu 默认页面,但我无法访问我的 wordpress 网站。提前感谢您的帮助;我真的被这个问题难住了。
找到解决方案:
星期五晚上,当我准备离开办公室时,我意识到一个可能的解决方案,并在今天早上进行了测试。它有效。问题是在数据库中的某个地方,它将我输入的 IP 重定向到“localhost”,当它在另一台计算机上运行时,它试图使用该计算机的本地主机。按照本文并将所有出现的“localhost/wordpress”替换为“ip-of-vm/wordpress”,这样就解决了问题,并且可以在其他计算机上运行。
答案1
如果出现此情况,请告知我们网上帖子对您有用。
建议:测试时禁用所有机器上的所有防火墙。运行后,您可以设置防火墙规则,重新启用防火墙,并确保它按预期运行。