gpt4 book ai didi

php - 沙盒网站最佳实践?

转载 作者:搜寻专家 更新时间:2023-10-31 21:19:11 24 4
gpt4 key购买 nike

我目前在一家几乎没有正式流程和上百万个 PHP 网站的网上商店工作,其中包括自定义 CMS 和购物车代码等棘手的东西。

我们正在努力改进。我正在插入 CVS/SVN。

我的问题是,沙盒网站工作的最佳实践是什么?我们在 LAMP 堆栈上。我们的某些网站已硬编码(或用户输入的链接)到当前域,因此设置不同的域(如 preview.mysite.com)会破坏指向 www.mysite.com 的链接。如果我们开始应用回归测试,也许域应该统一以进行测试?这始终可以通过本地主机条目来完成。

因此,考虑到我们有很多站点,如果有一个始终在适当的沙箱中进行预览的流程会很好。想知道这将如何与 SVN/CVS 循环集成。

我只是在寻找行业最佳实践,因为我们正在努力实现这一目标。如果这意味着将站点克隆到额外的服务器,那就这样吧。

最佳答案

是的,您应该有第二台 STAGE 服务器。我所做的是将我的代码放入我的开发箱上的 CVS 中,并在进行过程中定期提交。当我准备好将一个版本推送到“STAGE”服务器时,我会浏览我想要 STAGE 的文件并将它们标记为 STAGE:

cvs 标签-F 阶段

然后我转到 STAGE 服务器并使用 STAGE 标志进行更新以获取文件的 STAGE 版本:

cvs up -r 阶段

这还会将这些文件的粘性标签设置为“STAGE”,因此将来,我可以在我的暂存服务器上进行更新时将 STAGE 标签关闭:

简历

最后,当我在 STAGE 服务器上测试我的代码时,我使用 rsync 将它滚动到生产服务器...

我们有几位开发人员一起工作,因此保持稳定的 STAGE 版本可能会很棘手。在那种情况下,如果我只是对一个或两个文件进行了小的改动,我将把它们单独发送到生产服务器上。

最后,为了确保我知道我的生产服务器上有什么,在我将一个或多个文件发送到生产服务器后,我将阶段服务器上的所有文件标记为 RELEASE,以及 RELEASE20090713 或任何当前版本日期是.. 这样我就可以根据需要移动快照。不过请注意,这不会更新粘性标签,所以我的常规旧

简历涨幅

在舞台服务器上仍然给我最新的舞台文件。

现在在你的情况下,就硬编码的 URL 而言......你已经知道......糟糕糟糕......所以边走边修复它们......但是你可以使用 apache URL 重写来重写STAGE 上用于与自定义 TCP 端口对话的 URL。

如果您有一个智能网络设备,例如 cisco 路由器,您可以将其设置为对您的 IP 执行 PAT(端口地址转换)。端口 80 可以转发到您的常规生产网络服务器,端口 8080 可以转发到您的 STAGE 服务器(它的端口 80)。然后您要做的就是让 apache 在您的 STAGE 服务器上重写 URL,并将 8080 附加到它看到的所有主机名。现在,您所有的帖子和链接都将转到正确的 STAGE 服务器,并且您的 Apache 配置也可以完全相同。

关于php - 沙盒网站最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1120637/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com