我正在使用 fastcgi 和 apache2 运行 pylons 应用程序。有两个版本(与我的 svn repo 不同的版本),一个用于暂存,一个用于生产。我希望他们使用不同的粘贴配置文件。
现在,我在 pylons 应用程序的 htdocs 中的 dispatch.fcgi 只使用一个配置文件(所以舞台和现场都使用相同的配置)。例如,我希望能够在舞台服务器上启用调试,但不能在实时服务器上启用。有什么建议么?
我正在使用 fastcgi 和 apache2 运行 pylons 应用程序。有两个版本(与我的 svn repo 不同的版本),一个用于暂存,一个用于生产。我希望他们使用不同的粘贴配置文件。
现在,我在 pylons 应用程序的 htdocs 中的 dispatch.fcgi 只使用一个配置文件(所以舞台和现场都使用相同的配置)。例如,我希望能够在舞台服务器上启用调试,但不能在实时服务器上启用。有什么建议么?
一种方法是准备多个 dispatch.fcgi(引用不同的 INI 文件),然后在部署时运行脚本以将正确的脚本复制到活动位置。
另一种方法是拥有两个 .fcgi 文件,然后使用 IfDefine 指令在主 httpd.conf 中选择适当的规则。
换句话说,在登台服务器上,您使用 启动 httpd httpd -D staging
,然后将登台配置放入其中<IfDefine staging></IfDefine>
,并将其他配置放入其中<IfDefine !staging></IfDefine>
这种方法的局限性在于,由于 IfDefine 是二进制的,因此在仍然具有“默认”选项的同时通过两个选项需要一堆额外的行。这不是世界末日,如果您需要在所有部署中提供参数,它会保持干净。
不过,我会使用选项#1。