Perl 如何为不同的服务器配置Catalyst应用程序?

Perl 如何为不同的服务器配置Catalyst应用程序?,perl,catalyst,Perl,Catalyst,我正在计划一个Catalyst应用程序,它将部署在多个服务器上。支持人员将在内部使用它来控制在这些服务器上运行的操作系统的各个方面 该应用程序在每台服务器上的运行方式基本相同,只是有少量特定于站点的行为。某些操作仅适用于某些服务器,而某些操作在其他服务器上的行为会有所不同 是否有任何公认的设计模式/实践能够实现Catalyst应用程序的特定于站点的定制 我目前正在考虑在应用程序旁边部署一个站点配置文件,该文件将用于确定要启用的操作,并设置控制其他操作行为的参数。理想情况下,当应用程序由mod_p

我正在计划一个Catalyst应用程序,它将部署在多个服务器上。支持人员将在内部使用它来控制在这些服务器上运行的操作系统的各个方面

该应用程序在每台服务器上的运行方式基本相同,只是有少量特定于站点的行为。某些操作仅适用于某些服务器,而某些操作在其他服务器上的行为会有所不同

是否有任何公认的设计模式/实践能够实现Catalyst应用程序的特定于站点的定制

我目前正在考虑在应用程序旁边部署一个站点配置文件,该文件将用于确定要启用的操作,并设置控制其他操作行为的参数。理想情况下,当应用程序由mod_perl(Apache2)加载时,这种定制就会发生——但我不确定这是否可能


欢迎任何建议

您可以设置模板,或者根据
$c->req->host
的值在控制器中设置条件行为,或者根据
$c->req->host

的值在控制器中具有条件行为,这些代码以
MYAPP\u CONFIG\u LOCAL\u后缀
环境变量的形式帮助您进行特定于站点的配置。由于控制器是组件,并且在
setup\u Components
时可以使用config,因此在编译控制器时,可以通过操作注册执行任何愚蠢的操作。因为每个人的需求都有很大的不同,所以没有多少预先准备好的,但也不是特别难,邮件列表上也有一些建议。

有代码可以帮助您以
MYAPP\u CONFIG\u LOCAL\u后缀
环境变量的形式进行特定于站点的配置。由于控制器是组件,并且在
setup\u Components
时可以使用config,因此在编译控制器时,可以通过操作注册执行任何愚蠢的操作。因为每个人的需求都有很大的不同,所以它没有太多的预编译功能,但也不是特别难,邮件列表中也有一些建议。

我总是使用
$HOSTNAME
$USER
的独特组合来定义要加载的特定配置文件,例如

conf => "my_app_${hostname}_${user}.conf"

我总是使用
$HOSTNAME
$USER
的唯一组合来定义要加载的特定配置文件,例如

conf => "my_app_${hostname}_${user}.conf"

听起来很接近我想要的。为了给出一个更具体的例子,我想在编译时设置根视图模板,而不是在控制器操作中进行if测试。我必须通过它的声音来阅读安装组件。这听起来很接近我想要的。为了给出一个更具体的例子,我想在编译时设置根视图模板,而不是在控制器操作中进行if测试。我将不得不通过它的声音来阅读安装组件。