所以是的,您应该有第二台 STAGE 服务器。我所做的是将我的代码放入我的开发箱上的 CVS 中,并在我进行的过程中进行定期提交。当我准备将版本推送到“STAGE”服务器时,我会浏览我想要 STAGE 的文件并标记它们 STAGE:
cvs标签-F STAGE
然后我去 STAGE 服务器并使用 STAGE 标志进行更新以获取文件的 STAGE 版本:
cvs up -r 阶段
这也将这些文件上的粘性标签设置为“STAGE”,因此将来,当我在舞台服务器上进行更新时,我可以关闭 STAGE 标签:
转正
最后,当我在 STAGE 服务器上测试了我的代码后,我使用 rsync 将其滚动到生产服务器...
我们有多个开发人员一起工作,因此保持稳定的 STAGE 版本可能会很棘手。在这种情况下,如果我只是对一两个文件进行了小改动,我只会将它们单独 scp 到生产服务器。..
最后,为了确保我知道生产服务器上的内容,在我将一个或多个文件发送到生产服务器后,我将舞台服务器上的所有文件标记为 RELEASE,也标记为 RELEASE20090713 或任何当前日期是.. 这样我就可以移动快照,但如果需要的话,我可以得到时间。但请注意,这不会更新粘性标签,所以我的常规旧
转正
在舞台服务器上仍然可以获取最新的 STAGE 文件。
现在在你的情况下,就硬编码的 URL 而言......你已经知道......糟糕糟糕......所以边走边修复它们......但你也许可以使用 apache URL 重写来重写用于与自定义 TCP 端口通信的 STAGE 上的 URL。
如果您有像思科路由器这样的智能网络设备,您可以将其设置为对您的 IP 进行 PAT(端口地址转换)。端口 80 可以转发到您的常规生产网络服务器,端口 8080 可以转发到您的 STAGE 服务器(其端口 80)。然后您所做的就是让 apache 在您的 STAGE 服务器上进行 URL 重写并将 8080 附加到它看到的所有主机名。现在您的所有帖子和链接都将转到正确的 STAGE 服务器,并且您的 apache 配置也可以完全相同。