所以是的,你应该有第二台 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 重写来重写 STAGE 上的 URL与自定义 TCP 端口通信。
如果你有一个像思科路由器这样的智能网络设备,你可以设置它来为你的 IP 做 PAT(端口地址转换)。端口 80 可以转发到您的常规生产网络服务器,端口 8080 可以转发到您的 STAGE 服务器(其端口 80)。然后您所做的就是让 apache 在您的 STAGE 服务器上进行 URL 重写并将 8080 附加到它看到的所有主机名。现在您的所有帖子和链接都将转到正确的 STAGE 服务器,并且您的 apache 配置也可以完全相同。