我有同一个网站的两个版本,位于不同的 IP 上 - 一个是生产版本,一个是暂存版本。
生产服务器:完全由 Site5 管理。DNS 已完成,可foo.com
解析到 Site5 的服务器,其余部分由 Site5 负责。
暂存服务器:是一个 EC2 实例,并且 Apache 设置了一个基于名称的虚拟主机foo.com
。
作为开发人员,当我需要处理暂存版本时,我会更改文件hosts
以便:
foo.com 1.2.3.4 # the elastic IP associated with my EC2 instance
因此,当我在浏览器中访问时foo.com
,我会看到暂存版本。当我想查看生产版本时,我会注释掉该行。
对我来说这一切都很好,但团队中的其他人并不那么精通技术并且害怕终端。
有没有更好的方法来做到这一点,最好是一种不需要深入终端或其他“可怕的东西”的方法?
也许当他们想要查看/不想查看暂存版本时,他们可以选择使用/不使用代理服务器?
答案1
使用 ipaddress 访问它或使用唯一的域名。网站内的所有链接都应是相对的,否则如果托管在另一个域上,网站也会中断。
答案2
编辑 hosts 文件(使用 notepad.exe)确实是 Windows 中覆盖主机名解析的最简单、最快捷的方法。命令行替代方案将更加冗长和复杂。
如果您希望它保持临时状态,只需保持 hosts 文件打开,并在进行更改后点击保存即可。
答案3
我过去解决这个问题的一个方法是使用http://xip.io。
可以添加 ApacheSeverAlias
在您的服务器上执行如下指令:
ServerName foo.com
ServerAlias 1.2.3.4.xip.io
并且仍然让您的 WordPress 网站为其提供服务(取决于您对 WP 设置的了解程度)。
当然,缺点是这仍然有点令人困惑。至少它所需的技术知识比编辑文件要少hosts
。希望这能有所帮助!