gpt4 book ai didi

PHP 部署到 windows/unix 服务器

转载 作者:IT王子 更新时间:2023-10-29 00:31:27 25 4
gpt4 key购买 nike

我们有各种在 windows (xampp) 上开发的 php 项目,需要部署到 linux/windows 服务器的混合环境中。

我们使用了 capistrano过去从 windows 部署到 linux 服务器,但最近架构和 windows 服务器的变化使旧配置无法正常工作。该配方适用于 linux 部署,但设置 windows 服务器需要比我们现在更多的时间。 Capistrano 配方的想法是有效的答案。显然,windows/linux 服务器不共享用户,所以这有点复杂(因为 capistrano 假设到处都是相同的用户名/密码)。

目前我们正在为 Windows 服务器使用 svn-update,我不喜欢它,因为它使所有 svn 文件都卡在生产服务器上。 (我们仍然需要在 Windows 上手动 svn-update 它们)并使用 winscp 手动更新文件并将目录与它们的 linux 对应目录同步。

我的问题是,您建议使用哪些工具/设置来自动化此部署方案:“部署到 2 台以上混合 windows/linux 机器的各种 php windows/linux 开发人员”

(ps:我们使用 linux 工具或任何通过 cygwin 工作的东西都没有问题,我们只需要使部署成为一个简单的一步操作)

编辑:目前我们无法在全 Linux 环境中工作,我们必须同时部署到 Linux 和 Windows 服务器。我们可以从任何地方开始部署,但我们更希望能够从任一环境进行部署。

最佳答案

我根据客户端环境使用 4 种不同的方法:

  1. Capistrano 和类似工具(有效但复杂)
  2. rsync 从 + 到 Windows、Linux、Mac(简单,不强制执行纪律)
  3. svn 从 + 到 Windows、Linux、Mac(简单,不强制执行纪律)
  4. 服务器端脚本(通过浏览器运行,复杂)

有一些要求可以驱动您的需求:

  • 您想执行多少纪律
  • 如果您需要数据库(或配置)迁移(向上和/或向下)
  • 如果你想要一个静态的“we're down”页面
  • 谁可以进行更新
  • 服务器之间的配置差异

我强烈建议执行足够的纪律来避免你自己:部署到开发服务器,允许向上迁移和简单的数据库恢复,并将可以更新实时服务器的人员限制为少数负责任的管理员(开发服务器在哪里对更多开发者开放)。还可以考虑通过 cron 作业推送(到开发服务器),这样就有一个增量更改的每日快照。

大多数时候,我发现 svnrsync 设置就足够了,还有一些服务器端脚本,尤其是当管理集被限制为开发人员很少。

关于PHP 部署到 windows/unix 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77128/

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