在集群中共享软件和库

在集群中共享软件和库

我计划将几台相同的服务器用作 PHP Web 应用程序服务器(以及其他服务器)。我决定在部署服务器上编译和安装所有内容,然后在所有服务器上使用这些文件,而不是在每台服务器上单独安装和编译软件。为了简化所有这些文件的部署,我决定将所有共享文件安装到 /cluster/sw 目录中。编译软件时,我使用 --prefix=/cluster/sw 并将 /cluster/sw/lib 添加到 /etc/ld.so.config 文件中。到目前为止一切顺利,我编译的大多数软件都可以正常工作。/cluster/sw 通过 NFS 导出。

但是刚才,当我尝试为 PHP 编译 RabbitMQ 客户端时,出现错误,提示找不到某个文件。当我安装依赖库(Rabbit-C 客户端)时,没有使用 --prefix=/cluster/sw 选项,PHP 客户端编译得很好。

我想问的是:我还需要做什么才能从 /cluster/sw 共享目录编译和运行所有内容?

答案1

我不会让节点从网络加载其环境,除非它只加载一次然后从本地内存中使用。

相反,您可以为正在使用的 Linux 发行版创建软件包,并使用自定义存储库来提供这些软件包,并在节点上安装。如果您有多个相同的节点,这比在每个节点上单独编译程序要经济得多。

可以使用类似以下程序自动配置每个节点木偶CF引擎BCGF2或者厨师这还将确保您的自定义包安装在每台机器上。

相关内容