在 IIS 中托管 RAD 服务器。未找到 EMS 许可证

问题描述 投票:0回答:2

我创建了一个 32 位 RAD 服务器应用程序,我想将其托管在我的本地 IIS 服务器中。我按照here中提到的步骤进行操作,但是当我尝试调用网络服务时说http://localhost:8080/emsserver/EMSServer.dll/version,我收到以下错误:

{"error":"Forbidden","description":"EMS license not found.  To resolve this issue, install an instance of Interbase with an EMS license and configure emsserver.ini to connect to the licensed instance."}

这里可能出了什么问题?

是否还需要安装另一个 interbase 实例?我已经安装了 interbase 以及 RAD Studio 10.2 设置。错误消息还建议配置 emsserver.ini。需要什么配置更改?

我的开发环境是:Win 10 64位机器上的RAD Studio 10.2 Enterprise。 InterbaseManager 是 64 位的。 IBConsole 显示版本 Interbase 2017 版本 13.0.0.195。

有人可以帮我解决这个问题吗? 预先感谢。

delphi interbase rad-studio
2个回答
1
投票

此处所述,对于 RAD Server 生产环境,您不能使用 RAD Studio IDE 许可证,也不能使用“普通”InterBase 许可证。相反,为了能够在 IIS 或 Apache 的生产环境中运行 RAD Server,您必须将 RAD Server 部署许可证安装到 InterBase 中。直接联系 Embarcadero(或通过您当地的 Embarcadero 销售代表)请求您的 RAD 服务器部署许可证 - 从 10.2 东京版开始,现在 RAD Studio Enterprise 或 Architect 许可证持有者无需额外付费即可获得该许可证。

在程序上,根据您的托管环境,您将通过其Windows 上的许可证管理器或通过 Linux 上的命令行:

/opt/interbase/bin/LicenseManagerLauncher -i Console
,如此处所述,将 RAD 服务器部署许可证添加到 InterBase。假设您之前已集中安装 InterBase 以服务于身份和访问管理 (IAM) 目的,并按端点记录资源数据分析(RAD Server 的 RESTful Web 应用程序框架的内置功能)。

最重要的是,根据您的问题,您必须通过其关联的配置文件 (EMSSERVER.INI) 配置每个 RAD 服务器实例,以查看托管的这个中央/通用 IAM + 数据分析数据库(又名“RAD 服务器数据库”)在 InterBase 中。

默认情况下,RAD 服务器数据库在 InterBase 文件“emsserver.ib”中定义,该文件用于保存所有连接的 RAD 服务器实例的设备、用户、组和数据分析。反过来,每个 RAD 服务器实例所需的连接参数存储在关联的 EMSSERVER.INI 配置文件的 [Data] 部分下,详细信息如下下文

[Data]
InstanceName=192.168.0.127/3050
Database=/etc/ems/emsserver.ib
UserName=sysdba
Password=masterkey
SEPassword=
;# SEPassword connects to an encrypted database
Pooled=
;# Set Pooled=0 to disable connection pooled, Pooled=1 to enable (default is 1).
PooledMax=
;# Set PooledMax=10 to limit maximum pooled connection (default is 50).

如上所示,EMSSERVER.INI 中的 [Data] 部分定义了中央 RAD 服务器数据库(由 InterBase 提供支持)的连接参数。开始所需的连接参数是:

  • InstanceName:托管 RAD 服务器数据库的 InterBase 实例的

    <IP_Address|Hostname>/<Port_Number>

    注意: 多个 RAD 服务器实例(即,如此处所述,在单独的计算机或 docker 容器上进行多个物理安装)都可以通过此 InstanceName 设置使用相同的远程 RAD 服务器数据库后端(由 InterBase 提供支持)。

  • Database:由上面指出的 InterBase 支持的 InstanceName 提供服务的数据库文件(或其别名)。在 Windows 操作系统上,Database 的默认设置为:

    C:\Users\Public\Documents\Embarcadero\EMS\emsserver.ib
    。在 Linux 上,默认设置为:
    /usr/lib/ems/emsserver.ib

  • UserNamePassword 表示连接到 InterBase 支持的 RAD Server 数据库的 RAD Server 实例的凭据(默认情况下分别为:

    sysdba
    masterkey
    )。

从这里继续,SEPassword参数用于连接到加密数据库。更进一步,可以使用

Pooled
=1|
1
显式设置连接池(在没有值的情况下默认启用 {=
0
})。接下来,从此 RAD 服务器实例到中央/公共 RAD 服务器数据库的最大池连接数由 PooledMax 设置确定(否则默认为
50
)。

最后,有关使用 RAD 服务器开发和部署 Web 应用程序的更多信息,请参阅 David I 的Embarcadero RAD 服务器完整指南


0
投票

我们可以使用 Interbase 2020 服务器版试用版在 IIS 上托管 RAD 服务器吗?我在 Windows Server 上使用试用许可证时收到许可证未找到错误。

© www.soinside.com 2019 - 2024. All rights reserved.