22.10. Oracle NSAPI Connector
				Netscape Server API (NSAPI)是由 Oracle iPlanet Web 服务器(以前为 Netscape Web Server)提供的 API,用于为服务器实施扩展。这些扩展称为服务器插件。NSAPI 连接器在 nsapi_redirector.so 中使用,它是 mod_jk 调整到 Oracle iPlanet Web 服务器的扩展。NSAPI 连接器允许您将 JBoss EAP 实例配置为 worker 节点,并将 Oracle iPlanet Web Server 配置为负载均衡器。
			
有关 Solaris 和 Oracle iPlanet Web 服务器支持的配置的信息,请参阅 JBoss EAP 支持的配置。
先决条件
- JBoss EAP 在充当工作程序的每个服务器上安装和配置。
从红帽客户门户网站下载 NSAPI 连接器:
- 打开浏览器并登录到红帽客户门户网站 JBoss Software Downloads 页面。
- 在产品 下拉菜单中选择 Web Connectors。
- 从 Version 下拉菜单中选择最新的 JBoss Core Services 版本。
- 在列表中找到 Red Hat JBoss Core Services NSAPI Connector,确保为您的系统选择正确的平台和架构,然后点 Download 链接。
- 
							将位于 lib/或lib64/目录的nsapi_redirector.so文件提取到IPLANET_CONFIG/lib/或IPLANET_CONFIG/lib/目录中。
设置 NSAPI 连接器:
						在这些说明中,IPLANET_CONFIG 指的是 Oracle iPlanet 配置目录,此目录通常是 /opt/oracle/webserver7/config/。如果您的 Oracle iPlanet 配置目录不同,请相应地修改说明。
					
- 禁用 servlet 映射。 - 打开 - IPLANET_CONFIG/default.web.xml文件,找到带有 Built In Server Mappings 标题的部分。通过将其嵌套在 XML 注释字符( <!-- -和- -->)中,禁用到以下三个 servlet 的映射。- default
- invoker
- jsp - 以下示例配置显示禁用的映射。 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 保存并退出文件。 
 
- 配置 iPlanet Web 服务器以加载 NSAPI 连接器模块。 - 将以下行添加到 - IPLANET_CONFIG/magnus.conf文件的末尾,修改要适合您的配置的文件路径。这些行定义- nsapi_redirector.so模块的位置,以及- worker.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 连接器,没有负载均衡或负载平衡配置。选择以下选项之一,之后您的配置将完成。 
22.10.2. 配置 NSAPI Connector 以向 JBoss EAP 发送客户端请求
此任务配置 NSAPI 连接器,将客户端请求重定向到没有负载均衡或故障转移的 JBoss EAP 服务器。重定向基于每个部署(因此每个 URL)进行。
您必须 已经配置了 NSAPI 连接器,然后才能继续此任务。
设置基本 HTTP Connector
- 定义重定向到 JBoss EAP 服务器的 URL 路径。 注意- 在 - IPLANET_CONFIG/obj.conf中,行首不允许使用空格,除非行是前一行的延续。- 编辑 - IPLANET_CONFIG/obj.conf文件。找到以 < Object name="default"& gt; 开头的部分,并添加要匹配的每个 URL 模式,格式为以下示例文件。字符串 jknsapi 指的是 HTTP 连接器,该连接器将在下一步中定义。示例中显示了使用通配符进行模式匹配。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 定义提供每个路径的 worker。 - 继续编辑 - IPLANET_CONFIG/obj.conf文件。在您刚刚完成编辑的部分的关闭标签后直接添加以下内容:</ Object>。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 上面的示例将请求重定向到名为 worker01 的 worker 路径 /status,并将 - /nc/下的所有 URL 路径重定向到名为 worker02 的 worker。第三行表示分配给 jknsapi 对象的所有 URL 与上一行不匹配的所有 URL 都提供给 worker01。- 保存并退出文件。 
- 定义 worker 及其属性。 - 在 - IPLANET_CONFIG/connectors/目录中创建一个名为- worker.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/startserv- Copy 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 模式,格式为以下示例文件。字符串- jknsapi指的是将在下一步中定义的 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 - 这个 - jksnapi对象定义了用于为- 默认对象中映射到- name="jksnapi"映射的每个路径的 worker 节点。除与- /jkmanagerAttr匹配的 URL 外的所有内容都会被重定向到名为- 路由器的 worker。
- 定义 worker 及其属性。 - 在 - IPLANET_CONFIG/connector/中创建一个名为- worker.properties的文件。将以下内容粘贴到 文件中,并将其修改为适合您的环境。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - worker.properties文件使用与 Apache mod_jk 相同的语法。- 保存并退出文件。 
- 重启 iPlanet Web Server 7.0。 - IPLANET_CONFIG/../bin/stopserv IPLANET_CONFIG/../bin/startserv - IPLANET_CONFIG/../bin/stopserv IPLANET_CONFIG/../bin/startserv- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
iPlanet Web 服务器将 URL 模式重定向到您在负载平衡配置中配置的 JBoss EAP 服务器。