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

List all my deployed applications in Websphere and their respective ports

我想仅使用命令行来管理我的 WebSphere Application Server 中的某些内容,但我无法获取我已部署的应用程序和端口的列表。

我想要的:

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

apachectl 输出示例:

VirtualHost configuration:

*: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),但这只是我想要的输出的一个示例:A list of我的应用程序(apache 示例中的虚拟主机)及其各自的端口

我目前的情况:

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

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

结果如下:

DefaultApplication site secure

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

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

加上:

包含所有已部署应用程序的列表非常好,但加号可能是一种仅过滤使用 SSL 安全端口的应用程序的方法。

可能吗?我是不是误会了什么?

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

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

./wsadmin.sh -lang jython -user user -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

这将打印应用程序名称和应用程序端口列表。

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