Luk*_*404 9 configuration-management virtualhost puppet apache-2.2
我正在通过一般的配置管理学习我的方法,特别是使用puppet来实现它。我已经做了一些通用研究(也在 SF 上),现在我正在考虑 Apache VirtualHosts。
我们在两个系统上托管了许多LAMP网站(目前在数百个范围内):一个Apache2 / mod_php一个和一个MySQL一个 - 基本上与SF上已经存在的另一个问题相反,他管理许多服务器,每个服务器都有很少的虚拟主机(如果实际上不是一个,我不知道)。我还没有在 puppet 中组合一个工作配置,但这应该不是问题,那里有很多 例子和食谱。
除了明显的 apache 配置文件(我猜这里没问题)每个 vhost 都需要创建一些目录并检查权限(例如,每个 vhost 的根目录包含一个 documentroot、一个专用的 tmp 目录、一个专用的php 会话文件目录,可能是 SSL 证书等)在网络服务器上,以及一个用户 + 一个或多个 MySQL 服务器上的数据库。
添加一个新的虚拟主机需要 puppet 来创建它们,删除一个需要 puppet 运行一些脚本来备份用户数据,然后从两台服务器中删除实时数据,而且每个 puppet 代理运行都会检查是否存在目录、数据库、权限等。
在每次运行 puppet 时都会运行所有这些检查,尤其是文件系统的检查(在网络服务器上),尤其是在将来系统会加载更多时,我是否会在增加数百个虚拟主机时遇到麻烦?(假设我们将 1000 到 2000 个网站范围作为每个服务器的合理最大值)。
有没有在网上这样做的经验?我用谷歌搜索但什么也没找到,也是因为在搜索“puppet”和“apache”时信噪比很低......
我怀疑管理大量 apache 虚拟主机不会有问题,但我不能肯定。可接受的性能由您的业务需求定义。只有您可以决定它是否足够快。这是一个关于减少 CPU 负载的不错的线程:https://groups.google.com/forum/?fromgroups#!topic/puppet-users/sxtMvCnKnys[1-25]
总结一下主题:
以下是从 PuppetLabs 网站管理 apache 虚拟主机的示例:http://docs.puppetlabs.com/learning/definetypes.html#an-example-apache-vhosts
设置和删除配置应该不成问题。最大的问题是删除网络应用程序/站点的数据文件。为此,我建议共享存储,例如 NFS/AFS。如果您不使用共享存储,请确保用户生成的数据保持完整、备份或迁移到新服务器。
我怀疑您处于大规模托管情况,例如网络托管公司,因此我建议不要将站点的单个站点名称编码到您的傀儡清单中。为此,我建议使用 Hiera < http://puppetlabs.com/blog/first-look-installing-and-using-hiera/。Hiera 允许您使用单独的方式来存储虚拟主机到真实服务器的映射列表。您可以在 Hiera 中使用平面文件或数据库。遗憾的是,我对 Hiera 的了解还不足以指导您如何设置您可能需要的多级 Hiera 数据结构,但我至少可以为您指明 Hiera 的总体方向。
| 归档时间: |
|
| 查看次数: |
4844 次 |
| 最近记录: |