gpt4 book ai didi

PHP MySQL 和适当的开发/暂存发送到生产服务器之前

转载 作者:可可西里 更新时间:2023-11-01 07:31:29 26 4
gpt4 key购买 nike

我刚刚启动并运行了我的生产站点。我还有很多工作要做,我意识到现在需要一个开发服务器,然后才能将更改实时推送到生产站点(与用户一起)- 显然......

这个线程(以及 Stack 上的更多内容)描述了我: Best/Better/Optimal way to setup a Staging/Development server

无论如何...阅读这些线程有时会完全混淆,所有的术语都是乱七八糟的,而且我对 CentOS/Apache 的了解还很少。

我的目标是:

  1. 根据需要对文件进行一些更改。
  2. 在同一台服务器上测试更改,以确保设置相同
  3. 如果一切正常,我现在可以在某个地方保存一个版本,也许现在本地就足够了(Bazaar 似乎有可能?)
  4. 最后,通过 SSH 或 SFTP 或其他方式替换所有更改的文件...

我担心的是:

  • 在用户在系统中时上传更改。
  • 如何只上传发生变化的文件。

我希望有人可以链接到一个很好的指南来说明我的想法(我希望这不会留下任何想像力) - 或者某种建议/等等...我在兜圈子尝试不同的 SVN 和程序来管理它们,等等...

我是唯一一个正在开发的人,我只想要一个可重复的、值得信赖的解决方案,它可以为我工作,而不会让我的生活在尝试设置它(并保持它的设置)时太痛苦。

非常感谢。

最佳答案

如果您有能力在生产服务器上创建暂存子域,那么我将(并且正在)处理它:

在您的开发机器上进行开发,将您的代码存储在 VCS 中。我使用颠覆,但你可能会找到你喜欢的另一个。进行更改后,您 checkin 代码。

在您的生产服务器上,您在 Apache VirtualHost 中创建一个子域,该子域与您的生产 VirtualHost 相同,但相互隔离。将您的代码从 VCS check out 到暂存子域区域。进行更改后,您可以从 VCS 运行更新,这只会拉下更改的文件。登台和生产共享相同的数据集,或者您可以为每个都有一个单独的数据库。

使用子域而不是仅仅使用不同目录的原因是它使您能够将相同的 DocumentRoot 用于暂存和生产。如果您使用 staging.example.com 之类的网站,也很容易确定您所在的位置。

当您确定一切正常时,您可以在生产端运行 VCS 更新以使代码保持最新。

请务必确保您已指示 Apache 禁止访问 VCS 元数据目录(.svn、.git 等)。

附录

要禁止访问 .svn 目录,请使用如下重写规则:

RewriteEngine on
RewriteRule .*\.svn/.* - [F]

这将向他们发送 403。您还可以将他们重定向到主页,以减少他们甚至出现时的明显程度。

关于PHP MySQL 和适当的开发/暂存发送到生产服务器之前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6687292/

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