![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
有关应用程序服务器启动或重新启动的问题
如果服务器进程未启动或启动时发生错误,那么以下主题可帮助您诊断问题。
安装程序成功完成,但应用程序服务器未启动或者启动时有错误
- 浏览 Application Server 日志文件以获取线索。缺省情况下,这些日志文件位于:
profile_root/logs/server_name/SystemErr.log 和 SystemOut.log
profile_root\logs\server_name\SystemErr.log 和 SystemOut.log
profile_root/logs/server_name/SystemErr.log 和 SystemOut.log
tail -f profile_root/ logs/server_name/SystemOut.log 命令是监视服务器进度的一个简便方法。
- 查找与此模块的特定资源(如 Web 模块、企业 Bean 和消息传递资源)相关的任何错误和警告。如果发现任何错误和警告,那么检查应用程序服务器配置文件以了解该资源的配置设置。然后重新启动服务器以查看是否是此组件导致了问题的发生。
例如,在 Windows 系统上的基本配置或非分布式配置中,浏览 profile_root\config\cells/ApplicationServerCell\nodes\node_name\servers\server_name\server.xml,并检查 XML 标记以了解该资源的属性。将它的 initialState 值从 START 更改为 STOP。
例如,浏览 profile_root/config/cells/ApplicationServerCell/nodes/node_name/servers/server_name/server.xml 并检查 XML 标记以了解该资源的属性。将它的 initialState 值从 START 更改为 STOP。
- 通过单击信息中心导航的参考视图并在导航树中展开消息,查找消息参考表中的任何错误或警告消息。
- 在创建应用程序服务器后,必须先使节点同步,然后再保存新服务器的配置设置。如果未使节点同步,那么新的服务器可能不会启动。
- 在列示所有应用程序服务器的应用程序服务器页面上,单击首选项。
- 选择使更改与节点同步(如果还未选择它的话)。
- 单击应用,然后单击应用程序服务器以返回至应用程序服务器列表。
- 单击保存以保存新服务器的配置设置。
- 如果应用程序服务器是 Network Deployment 或多服务器配置的一部分,那么
验证是否已将应用程序服务器添加到配置中。
- 验证此配置在 Deployment Manager 和节点之间是否是同步的。如果自动同步正在运行,那么等待同步完成。如果您正在使用手动同步,请求同步到集群中的每个节点。
在启动应用程序服务器之前:
- 通过发出以下命令来启动 Deployment Manager 进程:
app_server_root/bin/startManager.sh
app_server_root\bin\startManager.bat
- 完成将运行应用程序服务器的节点联合至 Deployment Manager 的一次性步骤。即使只有一个节点,即使两个进程在同一个物理服务器上,也要完成此步骤。
- 验证 Deployment Manager 是否正在运行。然后从 profile_root/bin 目录运行 addNode nodename 命令。例如,在 Linux 或 UNIX 系统上,以下命令会将应用程序服务器添加至 Deployment Manager:
addNode.sh localhost 8879 -includeapps -startingport 3333
Deployment Manager 使用缺省 SOAP 端口 8879。两个进程都在同一台机器上。应用程序服务器上所有已安装的应用程序(除了是系统应用程序的管理控制台)都安装在 Deployment Manager 上。
startingport 参数可以避免一台机器上共存多个 Node Agent 进程的问题。Node Agent 进程的所有端口都在端口号 3333 启动。您也可以使用 -portprops 参数明确地指定端口。
有关更多信息,请参阅 addNode 命令的描述。
- 通过输入 app_server_root/bin/startNode.sh 或 app_server_root\bin\startNode.bat,在主管想要运行的应用程序服务器的节点上启动节点管理器进程。
- 通过发出以下命令来启动 Deployment Manager 进程:
在启动应用程序服务器之前,请使用 startNode Qshell 脚本在主管要启动的应用程序服务器的节点上启动 Node Agent 进程。
- 确保指定为显示在应用程序服务器控制台上的逻辑名不包含无效字符,如:- / \ : * ? " < > 和前导或结尾空格。
如果在本来成功的安装后无法启动 Deployment Manager,请在 profile_root/logs/server_name/SystemErr.log 文件和 SystemOut.log 文件中查找消息。
如果在本来成功的安装后无法启动 Deployment Manager,请在 profile_root/logs/server_name/SystemErr.log 文件和 SystemOut.log 文件中查找消息。
- 如果您使用 Apache Derby 并在启动应用程序服务器时接收到 ERROR XSDB6: Apache Derby 的另一个实例可能已引导数据库 databaseName 错误,请参阅数据访问问题主题以了解更多信息。
当使用非 root 用户标识运行应用程序服务器时,验证:
- 非 root 用户对 app_server_root/temp 目录是否有写访问权。
- JVM 对 app_server_root/config/plugin-cfg.xml 文件是否具有写访问权。
- 非 root 用户对 logs 目录是否有访问权。
当使用 QEJBSVR 以外的用户概要文件运行应用程序服务器时,验证:
- 用户概要文件是否将 QEJBSVR 指定为其组概要文件。
- QEJBSVR 是 profile_root
目录下的所有文件和目录的所有者。可在 Qshell
会话中使用以下命令将 QEJBSVR 设置为所有者:
chown -R QEJBSVR profile_root
- 应用程序服务器在受限方式下可能不启动。可以配置应用程序服务器以允许或限制对内部服务器类的访问。缺省情况是允许访问。如果访问受限制,那么服务器可能未启动。如果应用程序服务器在限制方式下不启动,那么将对内部类的访问更改为允许。
重新启动应用程序服务器后 SystemOut.log 中可能会出现一条错误消息
主机 hostname 和端口 portnumber 的套接字绑定失败。此端口可能已在使用中。
如果网络速度太慢,并且应用程序已停止和重新启动时消息文本中列出的端口未完成侦听,就会发生此问题。
要验证是否是这个问题,检查端口状态。
验证是否所有端口都不在侦听。使用以下命令:
netstat -a
验证是否所有端口都不在侦听。使用以下 CL 命令:
NETSTAT *CNN
- 重新启动服务器
FFDC 日志文件中显示消息“DiscoveryService.sendQuery”异常
当您启动 Deployment Manager 时,Deployment Manager 尝试发现其单元内的所有已配置 Node Agent。如果部署代理程序未发现单元中的 Node Agent,它将在 Deployment Manager 未发现的每个 Node Agent 的首次故障数据捕获 (FFDC) 日志文件中写入异常。如果这些 Node Agent 不应在运行,那么可以忽略该异常。如果这些 Node Agent 应在运行,那么 FFDC 日志文件可能包含额外的信息,可帮助您确定 Deployment Manager 即使在 Node Agent 应正在运行时也无法发现这些 Node Agent 的原因。
![[IBM i]](../images/iseries.gif)
应用 WebSphere Application Server V8.5.0.1 后,服务器未在 IBM i 上重新启动
如果应用 8.5.0.1 后服务器未在 IBM i 上重新启动,那么您可能会接收到以下消息:“CWWKE0044E: 缺少对服务器目录的写许可权”。
仅当从操作系统集成开始并使用 QEJBSVR 用户时,此错误才会显示在 IBM i 上。
通过将服务器命令的调用与用于删除 <serverName>/workarea/.sCommandAuth 目录内容的脚本进行合并,您可以临时解决此问题。