在Apache2服务器之间共享configuration指令的最佳select是什么? 这是为了采用稳定的负载平衡所必需的。 最重要的指令是那些定义虚拟主机的指令。
任何forms的帮助,非常感谢。
我们将一台主机定义为“主”,同时(根据最近的发行版本),虚拟主机configuration保存在/etc/apache2/vhost.d/文件夹中,并为每个虚拟主机分配一个文件。
例如
www.example.com.conf customers.example.com.conf suppliers.example.com.conf ... and so on..
然后一个cron'd rsync从“主”复制到其他服务器。
有很多方法可以解决这个问题:
您可以考虑将第二个选项与Puppet或CFengine等configuration工具相结合,以便在中央configuration更改时重新加载Apache。
我为我们的开发,登台和生产服务器使用统一的configuration。 大部分的configuration都是相同的。 在不同的地方,我将这些差异放入虚拟主机定义中,或放在<IfDefine>部分中,例如:
<IfDefine DEVELOPMENT> ... </IfDefine>
每台服务器都从一个命令行开关开始,告诉它是哪个服务器。 例如,在我的开发服务器上
export APACHE_ARGUMENTS="-DDEVELOPMENT"
到/ etc / apache2 / envvars(这是Debian – 对于RedHat,你可以把OPTIONS='-DDEVELOPMENT'放到/ etc / sysconfig / httpd中)。 因此,除了虚拟主机之外,开发服务器还具有<IfDefine DEVELOPMENT>部分中的所有configuration。
当configuration发生变化时,我会将更改提交到版本控制(通常是在开发中),并将其推送到其他主机。