![[IBM i]](../images/iseries.gif)
在 IBM i 上更新现有概要文件中的端口
使用 updatePorts.ant 脚本来更改已安装概要文件中的端口。
开始之前
每个概要文件模板均具有其自己的 updatePorts.ant 脚本。
应用程序服务器概要文件的 updatePorts.ant 脚本位于 app_server_root/profileTemplates/template_name/actions 目录中。要使用该脚本,您必须确定要更新的概要文件。

关于此任务
使用以下过程来熟悉如何使用 updatePorts.ant 脚本。每个步骤均为一项练习,会导致使用 updatePorts.ant 脚本所支持的特定方法来重新分配端口。
过程
- 将互不冲突的端口分配给概要文件 myprofile。
缺省情况下,ANT 脚本会分配没有冲突的端口。不需要指定特殊自变量。确定标准目录路径、概要文件名称、唯一节点名和唯一单元名称。然后发出命令。
- 创建使用 CCSID 819 (ASCII) 编码的 Java™ 属性文件,以将互不冲突的端口值分配给应用程序服务器概要文件。
对于此示例,假定您创建以下 /TMP/was_props/appserver.props 属性文件。
WAS_HOME=/QIBM/ProdData/WebSphere/AppServer/V9/<edition> was.install.root=/QIBM/ProdData/WebSphere/AppServer/V9/<edition> profileName=myprofile profilePath=/QIBM/UserData/WebSphere/AppServer/V9/<edition>/profiles/myprofile templatePath=/QIBM/ProdData/WebSphere/AppServer/V9/<edition>/profileTemplates/default nodeName=MYISERIES_myprofile cellName=MYISERIES_myprofile hostName=MYISERIES.mycompany.com
- 启动 Qshell 会话
STRQSH
- 切换到 app_server_root/bin 目录。
cd /QIBM/ProdData/WebSphere/AppServer/V9/<edition>/bin
- 发出命令。
ws_ant -propertyfile /TMP/was_props/appserver.props -file /QIBM/ProdData/WebSphere/AppServer/V9/<edition>/profileTemplates/default/actions/updatePorts.ant
- 打开管理控制台并查看已更改的端口分配。
要查看端口分配,请单击服务器 > 服务器类型 > WebSphere 应用程序服务器 > server1 > [通信] > 端口。
- 再次运行脚本并查看端口。它们与以前相同吗?
对于每个概要文件节点名的 serverindex.xml 文件中列出的每个服务器,产生的动态分配端口值适用于当前已分配给 AppSrv01 概要文件的所有端口。每个端口均会接收到一个没有冲突的新值。不会使用任何旧的端口值分配,因为在执行新分配时,这些端口值正在使用中。
- 创建使用 CCSID 819 (ASCII) 编码的 Java™ 属性文件,以将互不冲突的端口值分配给应用程序服务器概要文件。
- 将缺省端口分配给 AppSrv02 概要文件。
缺省情况下,ANT 脚本会分配没有冲突的端口。需要 defaultPorts=true 特殊自变量。确定标准目录路径、概要文件名称、唯一节点名和唯一单元名称。然后发出命令。
- 创建使用 CCSID 819 (ASCII) 编码的 Java 属性文件,以将缺省端口值分配给应用程序服务器概要文件。
对于此示例,假定您创建以下 /TMP/was_props/appserver.props 属性文件。
WAS_HOME=/QIBM/ProdData/WebSphere/AppServer/V9/<edition> was.install.root=/QIBM/ProdData/WebSphere/AppServer/V9/<edition> profileName=AppSrv02 profilePath=/QIBM/UserData/WebSphere/AppServer/V9/<edition>/profiles/AppSvr02 templatePath=/QIBM/ProdData/WebSphere/AppServer/V9/<edition>/profileTemplates/default nodeName=MYISERIES_AppSvr02 cellName=MYISERIES_AppSvr02 hostName=MYISERIES.mycompany.com defaultPorts=true
- 启动 Qshell 会话
STRQSH
- 切换到 app_server_root/bin 目录。
cd /QIBM/ProdData/WebSphere/AppServer/V9/<edition>/bin
- 发出命令。
ws_ant -propertyfile /TMP/was_props/appserver.props -file /QIBM/ProdData/WebSphere/AppServer/V9/<edition>/profileTemplates/default/actions/updatePorts.ant
- 打开管理控制台并查看已更改的端口分配。
要查看端口分配,请单击服务器 > 服务器类型 > WebSphere 应用程序服务器 > server1 > [通信] > 端口。
- 再次运行脚本并查看端口。它们与以前相同吗?
每次产生的已分配端口值均相同,因为这些值是缺省值。此方法无法解决有冲突的端口分配。要查看一个概要文件的所有端口分配,请参阅概要文件的 \serverindex.xml 文件。从 IBM® i 命令行发出 netstat *cnn 命令,以查看机器上正在使用的所有端口。
- 创建使用 CCSID 819 (ASCII) 编码的 Java 属性文件,以将缺省端口值分配给应用程序服务器概要文件。
- 将从 20050 开始的端口分配给 AppSrv03 概要文件。
在 IBM i 上,ANT 脚本将分配从 20050 开始的端口,并且不会尝试确定是否存在端口冲突。需要指定 startingPort=20050 自变量。确定标准目录路径、概要文件名称、唯一节点名和唯一单元名称。然后发出命令。
- 创建使用 CCSID 819 (ASCII) 编码的 Java 属性文件,以将缺省端口值分配给应用程序服务器概要文件。
对于此示例,假定您创建以下 /TMP/was_props/appserver.props 属性文件。
WAS_HOME=/QIBM/ProdData/WebSphere/AppServer/V9/<edition> was.install.root=/QIBM/ProdData/WebSphere/AppServer/V9/<edition> profileName=AppSrv03 profilePath=/QIBM/UserData/WebSphere/AppServer/V9/<edition>/profiles/AppSvr03 templatePath=/QIBM/ProdData/WebSphere/AppServer/V9/<edition>/profileTemplates/default nodeName=MYISERIES_AppSvr03 cellName=MYISERIES_AppSvr03 hostName=MYISERIES.mycompany.com startingPort=20050
- 启动 Qshell 会话
STRQSH
- 切换到 app_server_root/bin 目录。
cd /QIBM/ProdData/WebSphere/AppServer/V9/<edition>/bin
- 发出命令。
ws_ant -propertyfile /TMP/was_props/appserver.props -file /QIBM/ProdData/WebSphere/AppServer/V9/<edition>/profileTemplates/default/actions/updatePorts.ant
- 打开管理控制台并查看已更改的端口分配。
要查看端口分配,请单击服务器 > 服务器类型 > WebSphere 应用程序服务器 > server1 > [通信] > 端口。
- 再次运行脚本并查看端口。它们与以前相同吗?
在使用 -startingPort 选项之后,由于 ANT 脚本将分配从 startingPort 编号开始的端口值(本例中为 20050 端口),因此每次获得的端口值都相同。
- 创建使用 CCSID 819 (ASCII) 编码的 Java 属性文件,以将缺省端口值分配给应用程序服务器概要文件。
- 使用端口定义属性文件将端口分配给 AppSrv04 概要文件。
portsFile=/opt/was/portdefs.our_appsrv_ex.props 特殊自变量允许您将特定端口分配给概要文件。不会为指定端口解决端口冲突。确定标准目录路径、概要文件名称、唯一节点名和唯一单元名称。然后发出命令。
- 创建使用 CCSID 819 (ASCII) 编码的 Java 属性文件,以将互不冲突的端口值分配给应用程序服务器概要文件。 假定您创建以下 /TMP/was_props/portdefs.our_appsrv_ex.props 属性文件:
WC_defaulthost=19080 WC_adminhost=19060 WC_defaulthost_secure=19443 WC_adminhost_secure=19043 BOOTSTRAP_ADDRESS=22809 SOAP_CONNECTOR_ADDRESS=28880 SAS_SSL_SERVERAUTH_LISTENER_ADDRESS=29401 CSIV2_SSL_SERVERAUTH_LISTENER_ADDRESS=29403 CSIV2_SSL_MUTUALAUTH_LISTENER_ADDRESS=29402 ORB_LISTENER_ADDRESS=39100 DCS_UNICAST_ADDRESS=39353 SIB_ENDPOINT_ADDRESS=37276 SIB_ENDPOINT_SECURE_ADDRESS=37286 SIB_MQ_ENDPOINT_ADDRESS=45558 SIB_MQ_ENDPOINT_SECURE_ADDRESS=45578 SIP_DEFAULTHOST=45060 SIP_DEFAULTHOST_SECURE=45061
注: 端口定义属性文件中使用的端口应该反映模板类型。此示例中的端口适用于缺省模板类型,而且对于其他模板类型,它们可能不同。在模板目录中找到 portdef.props 文件之后,就可以对模板类型建模。假定您创建以下 /TMP/was_props/appserver.props 属性文件:
WAS_HOME=/QIBM/ProdData/WebSphere/AppServer/V9/<edition> was.install.root=/QIBM/ProdData/WebSphere/AppServer/V9/<edition> profileName=AppSrv04 profilePath=/QIBM/UserData/WebSphere/AppServer/V9/<edition>/profiles/AppSvr04 templatePath=/QIBM/ProdData/WebSphere/AppServer/V9/<edition>/profileTemplates/default nodeName=MYISERIES_AppSvr04 cellName=MYISERIES_AppSvr04 hostName=MYISERIES.mycompany.com portsFile=/TMP/was_props/portdefs.our_appsrv_ex.props
- 启动 Qshell 会话
STRQSH
- 切换到 app_server_root/bin 目录。
(另外,如果产品安装在非缺省目录中,请切换到 <install_root_directory>/bin 目录。)cd /QIBM/ProdData/WebSphere/AppServer/V9/<edition>/bin
- 发出命令。
ws_ant -propertyfile /TMP/was_props/appserver.props -file /QIBM/ProdData/WebSphere/AppServer/V9/<edition>/profileTemplates/default/actions/updatePorts.ant
- 打开管理控制台并查看已更改的端口分配。
要查看端口分配,请单击服务器 > 服务器类型 > WebSphere 应用程序服务器 > server1 > [通信] > 端口。
- 再次运行脚本并查看端口。它们与以前相同吗?
产生的已分配端口值来自属性文件。因此,这些值不会改变。此方法无法解决有冲突的端口分配。
- 创建使用 CCSID 819 (ASCII) 编码的 Java 属性文件,以将互不冲突的端口值分配给应用程序服务器概要文件。
结果
此过程使用 updatePorts.ant 脚本来产生四种不同的端口分配方法。
下一步做什么
启动或重新启动服务器以使用新端口。


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tins_is_updatePorts
文件名:tins_is_updatePorts.html