权威支持: 成功使用 WebSphere Application Server Community Edition 的检查表

来源:developerWorks 中国 作者:Cindy He
  

按照惯例,我们将首先提供关于整个 WebSphere® 社区的一些重要新闻:

  • WebSphere 品牌正在庆祝其 10 周年纪念!请参见 WebSphere Anniversary 页面,以了解 WebSphere 产品如何成为了全世界的 SOA 的中间件基础。
  • 我们非常自豪地宣布 IBM WebSphere Application Server V7 已于 2008 年 9 月 26 日正式发布!当然,对于该最新版本,存在若干新资源可帮助您开始使用它:
    • IBM Education Assistant Modules for WebSphere Application Server V7 是一个极好的起点。
    • 请参见 WebSphere Application Server 产品信息页面以了解如何获得 WebSphere Application Server V7。
    • 请参见 WebSphere Application Server V7 路线图以获得临时修复、维护信息和其他类型的支持材料和信息。
  • 如果您使用 WebSphere Portal,您将希望查看 WebSphere Portal Security 功能页面以了解某些最新的重要安全修复。您还可以在这里了解到有关保护 WebSphere Portal 环境的更多信息。
  • “绿化”是我们为了保护地球的环境而全力以赴的追求。IBM 有一个新的案例研究红皮书,其中介绍了如何采用智能的 SOA 方法实现绿色解决方案。
  • 可在 alphaWorks 上获得的新的 用于 Java™ 的性能分析工具能够帮助您查找正在约束资源的线程。此工具当前可用于 Windows®。
  • 如果您希望了解有关新功能的最新信息,请参见许多 IBM 产品的特色文档列表。您还可以为最喜欢的产品订阅主动电子邮件,以便在新信息可用时洞悉先机。

继续关注与支持相关的各个网站以及本专栏,以获得有关我们所碰到的其他工具的新闻。

接下来让我们继续今天主要的主题……





提出正确的问题

IBM WebSphere Application Server Community Edition 是一个轻量级应用程序服务器,旨在通过提供可方便快捷地下载并免费可用的技术,从而提高您的开发和部署工作的速度。WebSphere Application Server Community Edition V2.1(以下称为 Community Edition)构建在 Apache Geronimo 的基础上,其中组合了一些最佳的开放源代码技术,例如 Apache Tomcat、OpenEJB、Apache ActiveMQ 和 Apache Derby。

自从 Community Edition 发布以来,成千上万的用户快速采用 Community Edition 已取得极大的成功,只遇到了极少的困难。如果您的确遇到了开始使用 Community Edition 的困难,提出这里列出的其中某个问题很可能会帮助您解决问题,这样您就能继续向您的开发目标迈进。如果您还没有开始使用 Community Edition,可以使用这里的问题列表作为检查表,以便您能够避免常见错误,并立即充分利用 Community Edition:

  1. 您是否满足系统要求?
  2. 您是否在使用建议的和受支持的 Java SDK?
  3. Java Runtime Environment 的位置是否已正确设置?
  4. 您是否拥有足够的安装权限?
  5. 是否安装了所有的依赖包(仅针对 Linux)?
  6. 安装程序是否拥有执行权限?
  7. 您是否在使用正确的 URL 访问管理控制台?
  8. 您是否更改了管理控制台的缺省用户名和密码?
  9. 应用程序服务器是否已成功启动?
  10. 您是否拥有网络连接?
  11. 您是否能够使用主机系统的短名称访问服务器?
  12. 部署计划中的资源引用的定义是否正确?
  13. 您是否在生产中使用逆向类加载?
  14. 您是否验证了类依赖项?
  15. 如果仍然遇到问题该怎么办?

下面是对这些问题的回答:

  1. 您是否满足系统要求?

    在安装 WebSphere Application Server Community Edition 之前,请检查详细的系统要求以确认您的系统满足最低内存(不包括 JDK 为 150 MB,否则为 256 MB RAM)、操作系统、JVM (IBM SE 5) 和其他要求。该信息还描述了建议的、兼容的和不受支持的配置。

  2. 您是否在使用建议的和受支持的 Java SDK?

    许多安装和运行时问题都发生在使用 Community Edition 不支持的 Java™ SDK 的时候。虽然 Community Edition 可以在多种不同的 Java Runtime Environment (JRE) 中运行,但是建议的 JRE 仅有两种:IBM Java 5(32 位)和 IBM Java 5(64 位)。要验证您是否在使用建议的 JRE 之一,请确保 java 命令在您的 PATH 上,并从 Shell 运行以下命令:

    <command shell prompt> java -fullversion

    例如,如果您在使用 IBM JRE 1.5,则输出将类似如下:

    J2RE 1.5.0 IBM Windows 32 build pwi32devifx-20071025 (SR6b)

    有关更多信息,请参见详细的系统要求。

  3. Java Runtime Environment 的位置设置是否正确?

    Community Edition 使用 setenv.bat (Windows) 或 etenv.sh (UNIX®) 命令设置其 JRE 位置,这些命令位于 <WAS_CE_HOME>/bin 目录中。这些命令在 WASCE_JAVA_HOME 环境变量中设置 JRE 的位置。请确认 setenv 脚本将 WASCE_JAVA_HOME 环境变量设置为您安装 JRE 的位置。

  4. 您是否拥有足够的安装权限?

    使用拥有安装软件的足够权限的用户名登录到系统。在 Windows 上,您必须使用管理员 ID,或者使用某个属于 Administrator 组的用户。在 Linux® 上,可以使用某个有权读取/写入/执行安装介质、JRE 目录、目标目录和 /var/log 的用户名。

  5. 是否安装了所有的依赖包(仅针对 Linux)?

    每种 Linux 平台包含了 Community Edition 所依赖的不同包。有些 Linux 分发版缺省地安装这些包,而其他则不然。在 Linux 上安装 Community Edition 之前,确保安装所有的依赖包。您将找到可用于以下 Linux 平台的依赖包列表:

    • Ubuntu
    • openSUSE
    • 基于 Red Hat 的分发版。
  6. 安装程序是否拥有执行权限?

    Community Edition 安装程序的名称在 Windows 和 UNIX 平台上是不同的:

    • 在 Windows 上为:wasce_setup-version-win.exe
    • 在 UNIX 上为:wasce_setup-version-unix.bin

    在 UNIX 平台上,安装程序 wasce_setup-version-unix.bin 必须拥有执行权限才能安装 Community Edition。取决于您使用的 UNIX 平台,您也许能够从桌面检查和设置文件权限。如果您确实能够这样做,可以执行以下步骤:

    1. 打开终端窗口。
    2. 确保您拥有“root”权限。
    3. 切换到您下载 Community Edition 包的目录。
    4. 在安装程序上设置执行权限:

      <command shell prompt> chmod 755 wasce_setup-version-unix.bin

  7. 您是否在使用正确的 URL 访问管理控制台?

    该应用程序服务器的管理控制台可以在安全和不安全的 HTTP 协议之上通过 Web 浏览器进行访问。要避免遇到诸如“HTTP 404:page not found”之类的错误,您必须确保使用正确的 URL。缺省的 URL 为:

    对于不安全协议: http://<hostname>:8080/console

    对于 SSL: https://<hostname>:8443/console

    其中 <hostname> 是运行应用程序服务器的系统。通过更改 <WAS_CE_HOME>/var/config/config-substitutions.properties 文件中的 HTTPPort 和 HTTPSPort 属性,您可以配置不同的端口号。例如:

    HTTPPort=8080

    HTTPSPort=8443

    当您成功连接到管理控制台时,将会看到如图 1 所示的面板。



    图 1. 管理控制台
    图 1. 管理控制台

  8. 您是否更改了管理控制台的缺省用户名和密码?

    当您安装 Community Edition 时,将会设置缺省的管理用户名和密码以授予访问管理控制台的权限。缺省用户名为“system”,缺省密码为“manager”。请更改管理密码以帮助保护系统的安全:

    1. 在 Console Navigation 中,在 Security 下面,单击 Users and Groups。
    2. 在 Console Realm Users 下面,单击对应于缺省用户 system 的 Edit。
    3. 输入并确认新密码。

    务必要记住,在缺省情况下,Community Edition 在文件系统上存储用户和组信息。有关更多信息,请参阅 Modifying the Default Server Security Realm。

  9. 应用程序服务器是否已成功启动?

    管理控制台依赖其他模块才能成功运行。请在启动控制台之前确保那些模块已经启动。您可以从控制台应用程序的 EAR Portlet 中查看依赖模块的完整列表(图 2)。控制台 EAR 文件名为 org.apache.geronimo.plugins/console-tomcat/<version>/car,Parent Components 列中列出了管理控制台所依赖的组件。



    图 2. 依赖模块列表
    图 2. 依赖模块列表

    请按照以下步骤启动服务器:

    1. 打开终端窗口。
    2. 将目录切换到 <WAS_CE_HOME>/bin。
    3. 输入命令 startup.bat (Windows) 或 startup.sh (UNIX)。

    当服务器成功启动后,输出应该与图 3 所示类似。



    图 3. 成功的服务器启动的输出
     图 3. 成功的服务器启动的输出

  10. 您是否拥有网络连接?

    要确认您的网络连接,可以执行以下操作:

    1. 验证您可以解析主机名称。例如,对网络上的另一个主机执行 ping 命令。
    2. 如果浏览器和应用程序服务器之间存在防火墙,请确保将其配置为允许流量通过。例如,如果您在使用 SSL,请确保打开了 HTTPS 端口。

    当连接被拒绝时,网络组件会无法启动。该服务器包含许多网络组件(例如 GBean JMXService),这些组件要在初始化期间访问网络。如果其中某个组件由于连接被拒绝而无法启动,则问题可能是由运行在服务器主机上的防火墙软件导致的。如果是这种情况,可以配置防火墙软件将本地主机视为受信任的主机。取决于所使用的软件,您可能需要多次指定受信任的主机,例如:

    • 指定为 localhost
    • 指定为其完全限定的主机名称
    • 指定为其 TCP/IP 地址。
  11. 您是否能够使用主机系统的短名称访问服务器?

    无论您如何指定目标服务器的主机名称,Apache Geronimo 都会在远程部署过程中使用非限定(短)主机名称。然后客户端使用此短名称启动文件传输,以便将您的应用程序发送到服务器系统。如果网络无法解析该名称,您将看到 java.net.UnknownHostException。

    通过检查您是否能够使用短名称访问该主机系统,您可以避免此问题。例如,验证您能够使用短名称 Ping 该主机名称。如果接收到成功的响应,则名称解析服务能够将该短名称解析为某个 IP 地址。

  12. 部署计划中的资源引用的定义是否正确?

    要部署或分发您的 Java EE 资产,您需要在部署计划中定义资源引用;资源的示例为数据库或 JMS。Community Edition 提供了用于常见 Java EE 资产类型的部署计划模板,其中包括:

    有关模板和示例,请参见使用部署计划模板。

    如果服务器无法将 Java EE 部署计划中的引用解析为服务器上的某个资源,则服务器将无法部署或分发您的资产。请确保您使用定义了该关系的部署计划来部署您的资产。一些提示:

    • 如果您尝试不使用部署计划来部署资产,则会看到关于无法部署或分发您的资产的错误消息。要解决这些问题,可以创建一个部署计划,以便能够成功部署您的资产。
    • 如果您正在使用部署计划并在部署过程中看到错误,请检查错误消息和日志以确定哪些资源无法解析。然后通过纠正部署计划中的资源引用来解决问题。
    • 确保资源引用的配置标识符与资源的配置标识符匹配。
    • 使用单字节字符集来命名配置标识符;Apache Geronimo 中存在一个已知的问题,此问题会在您使用双字节字符集(例如中文)时导致问题。
  13. 您是否在生产中使用逆向类加载?

    逆向类加载对于问题确定和测试非常有用,它允许您覆盖缺省 Java EE 类加载器层次结构,以便先于父类搜索到您的模块的类库。如果计划在生产中使用逆向类加载,务必要保持谨慎,因为它影响所有类,并且会在将您的模块中构造的对象传递给父类进行处理时导致冲突。在生产系统中,您应该改为使用隐藏类,并且仅指定可以无冲突地使用的类。

    有关类路径的更多信息,请参见 Community Edition V2.1 文档中的管理类路径。

  14. 您是否验证了类依赖项?

    如果您看到以下任何异常:

    • java.lang.ClassNotFoundException
    • java.lang.ClassCastException

    则您的模块所依赖的包可能未在服务器的存储库中定义和存储。服务器使用 Apache Maven 项目所提倡的相同目录结构和命名约定在存储库中保存公共 Java 库。如果您的 Java EE 资产依赖某个还未在存储库中的库,您必须更新存储库以包括新库,并在您的 Java EE 资产的部署计划中定义该依赖项。有关更多信息,请参见将 Java 库添加到服务器的存储库。

  15. 如果仍然遇到问题该怎么办?

    如果在按照这些提示进行操作之后仍然遇到问题,可以尝试以下支持资源,以查找您的问题的解决办法和答案。

    • 用于 WebSphere Application Server Community Edition 的 IBM Support Assistant 产品外接程序。
    • 用于 IBM Developer Kits for Java 的 IBM Support Assistant 产品外接程序。
    • WebSphere Application Server Community Edition 支持站点。
    • WebSphere Application Server Community Edition 论坛和社区。

这些问题和答案为您提供了相关信息,可用于解决和避免在安装、配置和使用 WebSphere Application Server Community Edition V2.1 时遇到的某些最常见问题。此知识将为您在 Community Edition 上成功部署应用程序做出贡献。有关深入的安装和应用程序部署说明,请访问 WebSphere Application Server Community Edition 2.1 文档。(责任编辑:A6)


时间:2009-01-14 16:08 来源:developerWorks 中国 作者:Cindy He 原文链接

好文,顶一下
(6)
100%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量