24.10. Oracle NSAPI 连接器
Netscape Server API(NSAPI)是由 Oracle iPlanet Web 服务器(以前称为 Netscape Web Server)提供的 API,用于实施服务器的扩展。这些扩展称为服务器插件。NSAPI 连接器使用 in nsapi_redirector.so,它是 mod_jk 的扩展,调整为 Oracle iPlanet Web 服务器。NSAPI 连接器使您能够将 JBoss EAP 实例配置为 worker 节点,并将 Oracle iPlanet Web 服务器配置为负载平衡器。
有关 Solaris 和 Oracle iPlanet Web 服务器支持的配置 的信息,请参阅 JBoss EAP 支持的配置。
24.10.1. 将 Oracle iPlanet Web 服务器配置为使用 NSAPI 连接器 复制链接链接已复制到粘贴板!
先决条件
- JBoss EAP 在每台服务器上安装和配置,这些服务器上将充当工作程序。
从红帽客户门户网站下载 NSAPI 连接器:
- 打开浏览器并登录红帽客户门户 JBoss 软件下载页面。
- 在 Product 下拉菜单中选择 Web Connectors。
- 从 Version 下拉菜单中选择最新的 JBoss Core Services 版本。
- 在列表中找到 Red Hat JBoss Core Services NSAPI Connector,确保您为您的系统选择正确的平台和架构,然后单击 Download 链接。
-
将位于
lib/ 或 lib64/目录中的 thensapi_redirector.so文件提取到IPLANET_CONFIG/lib/或IPLANET_CONFIG/lib64/目录中。
设置 NSAPI 连接器:
在这些说明中,IPLANET_CONFIG 是指 Oracle iPlanet 配置目录,通常是 /opt/oracle/webserver7/config/。如果您的 Oracle iPlanet 配置目录不同,请相应地修改说明。
禁用 servlet 映射。
打开
IPLANET_CONFIG/default.web.xml文件,找到标题 Built In Server Mappings 部分。通过用 XML 注释字符(<!--和-->)来禁用以下三个servlet 的映射。- default
- invocationr
jsp
以下示例配置显示了禁用的映射。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 保存并退出文件。
配置 iPlanet Web 服务器以加载 NSAPI 连接器模块。
将以下行添加到
IPLANET_CONFIG/magnus.conf文件的末尾,修改文件路径以适应您的配置。这些行定义 thensapi_redirector.so模块的位置,以及workers.properties文件,其中列出了 worker 及其属性。Init fn="load-modules" funcs="jk_init,jk_service" shlib="/lib/nsapi_redirector.so" shlib_flags="(global|now)" Init fn="jk_init" worker_file="IPLANET_CONFIG/connectors/workers.properties" log_level="info" log_file="IPLANET_CONFIG/connectors/nsapi.log" shm_file="IPLANET_CONFIG/connectors/tmp/jk_shm"
Init fn="load-modules" funcs="jk_init,jk_service" shlib="/lib/nsapi_redirector.so" shlib_flags="(global|now)" Init fn="jk_init" worker_file="IPLANET_CONFIG/connectors/workers.properties" log_level="info" log_file="IPLANET_CONFIG/connectors/nsapi.log" shm_file="IPLANET_CONFIG/connectors/tmp/jk_shm"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以上配置适用于 32 位架构。如果使用 64 位 Solaris,请将字符串
lib/nsapi_redirector.so更改为lib64/nsapi_redirector.so。保存并退出文件。
配置 NSAPI 连接器。
您可以为基本配置配置 NSAPI 连接器,且无负载平衡或负载平衡配置。选择以下选项之一,之后您的配置将完成。
24.10.2. 配置 NSAPI 连接器以将客户端请求发送到 JBoss EAP 复制链接链接已复制到粘贴板!
此任务配置 NSAPI 连接器,以将客户端请求重定向到 JBoss EAP 服务器,而无需负载平衡或故障转移。重定向以每个部署为基础,因此按 URL 进行。
在继续此任务前 ,您必须已配置了 NSAPI 连接器。
设置基本 HTTP 连接器
定义重定向到 JBoss EAP 服务器的 URL 路径。
注意在
IPLANET_CONFIG/obj.conf中,行首不允许有空格,除非该行是上一行的延续。编辑
IPLANET_CONFIG/obj.conf文件。找到以 <Object name="default"> 开头的部分,并添加要匹配的每个 URL 模式,其格式为以下示例文件所示。string jknsapi 指的是 HTTP 连接器,将在下一步中定义。示例演示了使用通配符进行模式匹配。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 定义提供每个路径的 worker。
继续编辑
IPLANET_CONFIG/obj.conf文件。在刚刚完成编辑的部分的关闭标签后直接添加以下内容:& lt;/Object>。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上例将请求重定向到名为 worker 01 的 worker 路径 /status,并将
/nc/下的所有 URL 路径重定向到名为 worker 02 的 worker。第三行指出分配给 jknsapi 对象且前面行不匹配的所有 URL 都服务于 worker01。保存并退出文件。
定义 worker 及其属性。
在
IPLANET_CONFIG/connectors/目录中创建一个名为workers.properties的文件。将以下内容粘贴到 文件中,并进行修改以适合您的环境。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Worker
.properties文件的语法与 Apache mod_jk 相同。保存并退出文件。
重启 iPlanet Web 服务器
发出以下命令以重新启动 iPlanet Web 服务器:
IPLANET_CONFIG/../bin/stopserv IPLANET_CONFIG/../bin/startserv
IPLANET_CONFIG/../bin/stopserv IPLANET_CONFIG/../bin/startservCopy to Clipboard Copied! Toggle word wrap Toggle overflow
iPlanet Web 服务器现在将客户端请求发送到您已配置在 JBoss EAP 上部署的 URL。
此任务配置 NSAPI 连接器,以将客户端请求发送到负载平衡配置中的 JBoss EAP 服务器。
在继续此任务前 ,您必须已配置了 NSAPI 连接器。
配置用于负载平衡的连接器
定义重定向到 JBoss EAP 服务器的 URL 路径。
注意在
IPLANET_CONFIG/obj.conf中,行首不允许有空格,除非该行是上一行的延续。编辑
IPLANET_CONFIG/obj.conf文件。找到以<Object name="default">开头的部分,并添加要匹配的每个 URL 模式,其格式为以下示例文件所示。stringjknsapi指的是要在下一步中定义的 HTTP 连接器。示例演示了使用通配符进行模式匹配。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 定义提供每个路径的 worker。
继续编辑
IPLANET_CONFIG/obj.conf文件。直接在上一步中修改的部分结束标签后</Object>,添加以下新部分,并根据您的需要进行修改:<Object name="jknsapi"> ObjectType fn=force-type type=text/plain Service fn="jk_service" worker="status" path="/jkmanager(/*)" Service fn="jk_service" worker="router" </Object>
<Object name="jknsapi"> ObjectType fn=force-type type=text/plain Service fn="jk_service" worker="status" path="/jkmanager(/*)" Service fn="jk_service" worker="router" </Object>Copy to Clipboard Copied! Toggle word wrap Toggle overflow This
jksnapi对象定义 worker 节点,用于提供映射到默认对象中name="jksnapi"映射的每个路径。与/jkmanager/*匹配的 URL 之外的所有内容都重定向到名为router的 worker。定义 worker 及其属性。
在
IPLANET_CONFIG/connector/中创建一个名为workers.properties的文件。将以下内容粘贴到 文件中,并进行修改以适合您的环境。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Worker
.properties文件的语法与 Apache mod_jk 相同。保存并退出文件。
重新启动 iPlanet Web 服务器 7.0。
IPLANET_CONFIG/../bin/stopserv IPLANET_CONFIG/../bin/startserv
IPLANET_CONFIG/../bin/stopserv IPLANET_CONFIG/../bin/startservCopy to Clipboard Copied! Toggle word wrap Toggle overflow
iPlanet Web 服务器将在负载平衡配置中将您配置的 URL 模式重定向到 JBoss EAP 服务器。