【发布时间】:2012-10-17 05:46:50
【问题描述】:
我想在 nova-api 中设置一些变量。
设置它的最佳方法是什么? (在nova.conf 或其他文件中?)
我可以在/etc/nova/nova.conf 中设置并在 api 中获取该变量的值。但是还有其他方法可以为 API 设置环境变量吗?我想通过脚本中的os.environ 访问。 (这是正确的访问方式吗?)
据我所知,对于wsgi,我们必须在 apache 的配置文件中进行设置。但是对于新星我找不到文件:(。
提前感谢您的帮助。
【问题讨论】:
-
SetEnv 在 Apache 中不会为 mod_wsgi 设置 os.environ,如果你说 'wsgi' 你实际上是指 mod_wsgi。
-
我期待@GrahamDumpleton 的第一个回复:)。我从
init.d脚本设置环境变量。在脚本/etc/init.d/openstack-nova-api中使用了一个文件/etc/sysconfig/$prog,因此我们在此文件中设置了export变量,并在稍后获得了引用。谢谢您的回复。 -
对于 Linux 系统,将 init.d 文件之一设置为普通 shell 变量通常可以工作。如果 Apache 的传统 Apache Software Foundation 发行版,将使用与 Apache 可执行文件位于同一目录中的 envvars 文件。
-
你也可以只在 WSGI 脚本文件的开头设置 os.environ。对于很多只有 Python 模块读取它的东西,这很好。只有在 Apache 的进程启动时需要 LANG/LC_ALL/LD_LIBRARY_PATH 之类的东西时才需要在 init.d/envars 中执行此操作。