【问题标题】:Standard location for external web (Grails) application config files on linuxLinux 上外部 Web (Grails) 应用程序配置文件的标准位置
【发布时间】:2011-08-18 00:14:55
【问题描述】:

Linux (Ubuntu) 上是否有一个标准位置来放置 Web 应用程序 (Grails) 使用的外部配置文件?

更新:显然,我的问题有些混乱。 Grails 处理配置文件的方式很好。我只想知道linux上是否有标准的位置来放置配置文件。类似于日志文件(/var/log)的标准。如果重要的话,我说的是生产系统。

【问题讨论】:

    标签: linux grails ubuntu configuration-files


    【解决方案1】:

    Linux 配置文件通常位于 /etc 中。例如,apache 配置文件位于 /etc/httpd 中。与标准系统包无关的配置文件通常位于 /usr/local/etc 中。

    所以我建议 /usr/local/etc/my-grails-app-name/。请注意,这意味着您不能在同一台服务器上运行同一应用的两种不同配置。

    【讨论】:

      【解决方案2】:

      我认为没有标准位置。您通常通过 config.groovy 中的 grails.config.locations 属性定义外部配置文件的位置。

      编辑

      阅读您的评论后,我想标准位置是:

      • 类路径中的某处

      • 在您的主目录的.grails 文件夹中。

      因为这些是 config.groovy 文件中的默认值。

      grails.config.locations = [ "classpath:${appName}-config.properties",
                                  "classpath:${appName}-config.groovy",
                                  "file:${userHome}/.grails/${appName}-config.properties",
                                  "file:${userHome}/.grails/${appName}-config.groovy"]
      

      【讨论】:

      • 是的,我知道在哪里来定义它们。只是不知道这些可能居住的地方是否有标准位置。日志文件等都有标准。
      • 为什么我要在生产系统上有一个 .grails 文件夹?如果它们是外部的,为什么它们会在我的类路径中?
      • @Gregg 这是您在这个问题中第一次提到生产系统,所以也许您应该在原始问题中更加具体。至于您的第二个问题,您应该知道 classpath 只是 JVM 或应用程序搜索所需类和其他文件的 paths 列表。此路径可以在文件系统上的任何位置(读取external)。所以是的,你的类路径可以在你的项目之外!
      【解决方案3】:

      有一个插件Standardized external configuration for your app,如果grails.config.locations 参数不足,您可能会发现它很有用。

      【讨论】:

      • 并不是grails提供的不够。我只是想知道 linux 上是否有配置文件的标准位置。它甚至不必是特定于 Grails 的。
      猜你喜欢
      • 2018-11-18
      • 2014-03-14
      • 2019-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-18
      相关资源
      最近更新 更多