理想的多显影灯组?

时间:2010-04-14 02:33:10

标签: php linux apache lamp

我想构建一个“理想的”灯泡开发堆栈。

  • 双服务器(虚拟化,ESX)
    • 一方面是Apache / PHP,另一方面是数据库(MySQL,PgSQL等)。
  • 用户(开发人员)可管理的迷你环境或实例。
    • 每个开发者实例共享顶级配置(可用模块和默认配置等)
    • 开发人员应该控制每个项目的apache和php版本。
    • 开发人员可能能够更改次要设置,即遗留代码的magicquotes。
    • 每个项目将在其代码中确定其数据库提供程序

我的想法是,它是一个可以管理的可管理服务器,并提供全局配置的东西,如APC,Memcached,XDebug等。然后通过移动到每个项目的子集,我可以允许我的用户快速控制他们的各种项目的环境。

基本上我建议开发人员在他们自己的机器上运行自己的堆栈的典型系统,但是集中。通过这种方式,我希望避免像跨操作系统代码问题,数据库不一致,产生错误的安装略有不同等问题。

我很高兴在源代码的自定义构建中管理它,但是如果可能的话,通过某种包管理来管理它的很大一部分会很棒。我们通常使用CentOS,所以yum?

以前有没有人建造过这样的东西?是否有类似于我所描述的交钥匙?是否有任何有用的指南我应该阅读,以便建立这样的东西?

2 个答案:

答案 0 :(得分:3)

好吧,我在以前的工作中运行开发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。这种设置的缺点是偶尔一个特定的开发人员会通过搞砸他们的配置文件来崩溃整个服务器。我们使用了通用数据库,因为每个人都在处理单个项目,但设置多个单独的数据库并不困难。

答案 1 :(得分:0)

我对这个问题的看法,我不认为它涵盖了你的所有要求,但它非常接近:

  • 拥有一个带LAMP堆栈的CentOS服务器(yum install apache2 mysql php等) - 或者两个服务器一个httpd和一个mysqld
  • 对于n个开发人员在运行Apache服务器的主机上有n个虚拟主机www.developer-n.com的n个文件夹
  • 每个开发人员通过本地站的/ etc / fstab中的CIFS在本地计算机上安装它的服务器文件夹(例如//192.168.0.1/home/developer-n/www),并从本地编辑文件机器在(唯一)服务器上运行它们
  • 通过.htaccess
  • 调整每个开发人员迷你环境