列出我在Websphere中部署的所有应用程序及其各自的端口

时间:2018-07-27 15:06:40

标签: websphere jython administration wsadmin

我想仅使用命令行来管理WebSphere Application Server中的某些内容,但是在获取已部署的应用程序和端口的列表时遇到了麻烦。

我想要的:

我需要获取我已部署应用程序及其端口的列表。我是WAS管理的新手,并且与Apache Web Server进行比较,我想要类似命令apachectl -t -D DUMP_VHOSTS

apachectl输出示例:

  

VirtualHost配置:

     

*:80 mysite.com(/etc/apache2/sites-enabled/site.conf:1)

     

*:443 secure.com(/etc/apache2/sites-enabled/secure.conf:2)

注意:我知道Apache和WAS不是同一件事(WAS和Apache Tomcat之间有更多相似之处),但这只是我想要的输出的一个示例:我的应用程序列表(apache示例中的虚拟主机) )及其各自的端口

到目前为止我所拥有的:

由于我需要从命令行执行此操作,因此我按照以下步骤(Debian Server)使用wsadmin shell:

cd <Was_Root_Dir>/AppServer/bin
./wsadmin.sh -lang jython -user user -password pass
wsadmin>print AddminApp.list()

结果如下:

  

DefaultApplication   现场   安全

这是我想要的列表,但是我不知道每个应用程序的端口,而且我找不到在任何地方实现它的方法。

我认为该列表很广泛,并且包括我的WAS实例的所有服务器和所有配置文件中的应用程序。我在这里吗?

加号:

列出所有已部署应用程序的列表就可以了,但是加号可能是仅过滤使用带有SSL安全端口的应用程序的一种方式。

有可能吗?我误会了吗?

1 个答案:

答案 0 :(得分:1)

使用wsadmin listApplicationServerPorts命令列出端口,以便访问特定的应用程序。有关更多详细信息,请参阅IBM KC链接(listApplicationServerPorts)。

我已经为您准备了一个脚本,将以下内容复制并粘贴到文件(script.py)中,然后使用wsadmin运行它,如下所示

./ wsadmin.sh -lang jython-用户用户-password pass -f script.py

#Get the list of ALL installed APPs
appList=AdminApp.list().splitlines()

#Get the list of Application ports for each APP
for app in appList:
    print "  "
    #print APP Name
    print app
    #Get the list of Application Ports
    portList=AdminTask.listApplicationPorts(app).splitlines()
    for port in portList:
        #Print the port Details for the APP
        print port

这将打印appName和applicationport列表。

在此列表中,“ WC_defaulthost ”端口可用于 http 和“ WC_defaulthost_secure ”表示 https