理想的多开发商灯组?
Posted
技术标签:
【中文标题】理想的多开发商灯组?【英文标题】:Ideal Multi-Developer Lamp Stack? 【发布时间】:2011-02-07 17:41:46 【问题描述】:我想构建一个“理想”的灯开发堆栈。
双服务器(虚拟化,ESX) 一个是 Apache / php,另一个是数据库(mysql、PgSQL 等)。 用户(开发人员)可管理的微型环境或实例。 每个开发者实例共享***配置(可用模块和默认配置等) 开发人员应该可以控制每个项目的 apache 和 php 版本。 开发人员可能能够更改次要设置,即为旧代码启用魔术引号。 每个项目都将在其代码中确定其数据库提供者这个想法是它是一个我可以控制的可管理的服务器,并提供全局配置的东西,如 APC、Memcached、XDebug 等。然后通过移动到每个项目的子集,我可以让我的用户快速控制他们的各种项目的环境。
本质上,我提出了开发人员在自己的机器上运行自己的堆栈的典型系统,但是是集中式的。通过这种方式,我希望避免出现跨操作系统代码问题、数据库不一致、安装略有不同产生错误等问题。
我很高兴在源代码的自定义构建中管理它,但如果可能的话,最好通过某种包管理来管理其中的大部分。我们通常使用 CentOS,所以好吃吗?
以前有人建造过这样的东西吗?有没有类似于我所描述的交钥匙工程?为了构建这样的东西,我应该阅读任何有用的指南吗?
【问题讨论】:
听起来像是超级用户的问题。 我没有解决方案,但听起来您应该能够使用 .htaccess 文件完成大部分工作。 httpd.conf 应该能够限制可以覆盖的内容,然后开发人员可以在 htaccess 文件中扩展环境。 布兰特,在这种情况下,你不能依赖 htaccess 文件,因为每个项目中运行的应用程序都会有自己的 htaccess 文件,不宜破坏它们 听起来您几乎需要为每个开发人员提供虚拟容器。 【参考方案1】:好的,在我之前的工作中,我们运行开发 LAMP 设置的方式是这样的。同时运行 MySQL 和 Apache 的单个服务器。每个开发人员在服务器上分配一个 IP 地址(机器在同一个接口上运行多个 IP,所有 IP 在同一个子网中),因此每个开发人员可以拥有至少一个基于 IP 的虚拟主机和尽可能多的基于名称的虚拟主机他们想要(我们的网站使用 SSL,所以我们需要单独的 IP,无需 SSL,您可以使用单个 IP 和基于名称的虚拟主机)。我们有本地 DNS 服务器以这种方式为每个开发人员提供通配符 A 记录 *.john.dev.company IN A 10.1.1.123,其中 10.1.1.123 是分配给 John 的 IP 地址。这样,John 可以根据需要定义任意数量的基于名称的虚拟主机,并且只要它们都以 john.dev.company 结尾(如 project1.john.dev.company),它们都会被正确解析。每个开发人员都有自己的 apache 配置文件,其中包含他们的虚拟主机,我们使用 Include 指令将所有这些文件拉入主 Apache 配置。设置了权限,因此这些配置文件可以由各自的开发人员编辑,并且每个开发人员在他们的主目录中都有一个指向他们配置的软链接。此外,每个开发人员都可以使用 sudo 重新启动 Apache。这种设置的缺点是有时某个特定的开发人员会通过搞砸他们的配置文件来使整个服务器崩溃。我们使用通用数据库,因为每个人都在做一个项目,但设置多个单独的数据库应该不难。
【讨论】:
【参考方案2】:我对这个问题的看法,我不认为它涵盖了您的所有要求,但它非常接近:
拥有一台带有 LAMP 堆栈的 CentOS 服务器(yum install apache2 mysql php 等) - 或两台服务器,一台 httpd 和一台 mysqld 对于 n 个开发人员,在运行 Apache 服务器的主机上有 n 个文件夹和 n 个虚拟主机 www.developer-n.com 每个开发人员通过本地站的/etc/fstab 中的CIFS 将其服务器文件夹(例如//192.168.0.1/home/developer-n/www)安装在本地计算机上,然后从本地计算机编辑文件在(唯一的)服务器上运行它们 每个开发者微型环境都通过 .htaccess 进行调整【讨论】:
您说的是当前实现的内容,所以不是真正的答案 :) 加上我在上面确定通过 .htaccess 调整配置是不合适的。以上是关于理想的多开发商灯组?的主要内容,如果未能解决你的问题,请参考以下文章