使用 WSGI 与 Nova¶
从 2025.2 版本开始,运行计算 API 和元数据 API 的唯一方法是使用支持 WSGI(例如 Apache 或 nginx)的通用 HTTP 服务器。
Nova 项目提供了两个自动生成的入口点来支持这一点:nova-api-wsgi 和 nova-metadata-wsgi。 默认情况下,它们读取 nova.conf 和 api-paste.ini,并生成大多数 WSGI 服务器所需的模块级 application。 如果使用 pip 安装 nova,这两个脚本将被安装到环境的预期 bin 目录中。
可以通过 OS_NOVA_CONFIG_FILES 和 OS_NOVA_CONFIG_DIR 环境变量覆盖配置文件和配置目录。 在 OS_NOVA_CONFIG_FILES 中列出的文件路径相对于 OS_NOVA_CONFIG_DIR,并以 ; 分隔。
这些新脚本取代了代码仓库的 nova/wsgi 目录中可以找到的旧的实验性脚本。 这些新脚本不是实验性的。
使用 WSGI 运行计算和元数据服务时,不支持在同一进程中共享计算和元数据服务(如基于 eventlet 的脚本中那样)。
截至 2017 年 5 月的 devstack 中,计算和元数据 API 由一个 Apache 托管,通过 uwsgi 与 mod_proxy_uwsgi 通信。 检查那里创建的配置可以为管理 WSGI 脚本提供一些指导。 但是,重要的是要记住,使用 WSGI 的主要特性之一是托管 WSGI 应用程序有很多不同的方法。 不同的服务器对性能和可配置性做出不同的选择。