停止应用程序服务器

在停止应用程序服务器时,将结束基于当前应用程序服务器配置中的进程定义设置的服务器进程。

准备工作

确保您了解停止特定服务器给您处理工作请求的能力所带来的影响,在需要维护一个高可用性环境时尤其如此。

有关此任务

有时,您可能需要停止应用程序服务器。 例如,您可能必须将服务应用于在该服务器上运行的应用程序,或者,您可能想要更改该应用程序服务器中的其中一个配置设置。 在您需要停止应用程序服务器时,请使用下列其中一个选项。

避免麻烦: 在 Application Server 关闭过程中, com.ibm.ejs.util.am._Alarm 可能会启动新线程,导致来自各种组件的不必要异常。 例如,您可能会接收到以下连接池管理器异常:
J2CA0020E: Connection Pool Manager could not allocate a Managed Connection: 
java.lang.IllegalStateException: Internal     
Error: cannot find the PoolManager Reference. 
发生这些异常可能是因为应用程序服务器必须先关闭在它控制下的所有组件,停止过程才能完成。 可忽略这些异常。 应用程序服务器停止后,来自应用程序服务器的所有正在运行的线程自动结束。

过程

  • [Windows] 您可以使用 "开始" 菜单来停止应用程序服务器。
    在管理控制台中,单击 开始> 程序> IBM WebSphere > Network Deployment Vn > 停止服务器
    当成功停止服务器时,stopServer.log 文件在最后两行中包含下列内容:
    Server stop request issued.  Waiting for stop status.
    Server server1 stop completed.

    服务器名的变化取决于您的设置。

  • [Windows]如果已为应用程序服务器创建 Windows 服务,那么可以选择使用 Windows 服务实用程序来启动,停止和监视服务器的基本状态。
    1. 要启动 "服务" 实用程序,请单击 启动> 设置控制面板

      将显示“控制面板”文件夹。

    2. 双击“管理工具”图标。

      将显示“管理工具”文件夹。

    3. 双击“服务”图标。

      请参阅 Windows 联机帮助中的 "服务" 实用程序。

    请阅读有关 WASService 命令的主题,以获取有关添加和除去 Windows 服务的信息。

  • [z/OS][AIX Solaris HP-UX Linux Windows]您可以发出 stopServer 命令以停止单个服务器,或发出 stopManager 命令以停止 Deployment Manager。

    请阅读 stopServer 和 stopManager 主题以了解有关这些命令的信息,包括运行命令和定义日志文件名之类的信息。

    请阅读有关使用命令行工具的主题以了解有关确定从哪个目录运行 stopServer 和 stopManager 命令之类的信息。

    可通过检查相应日志文件来检查服务器或 Deployment Manager 是否成功停止。

    [z/OS]不应使用 CANCEL appserver_proc_name 命令来停止服务器。 每次启动服务器时,都会在服务方进程令牌 (例如 profile_root/default/temp/node_name/server_name) 外创建新的 temp 目录。 当服务器完全停止时,通常会移除这些 temp 目录。 但是,如果经常未完全停止服务器(如果您只是取消而不是停止服务器,就会发生这种情况),那么不会移除这些 temp 目录,并且用于这些 temp 目录的 HFS 最终会变满。 如果在安装应用程序时对 JavaServer Pages 进行预编译,或者在调用 JSP 之前使用 JspBatchCompiler 功能来对它们进行预编译,也可以防止发生此存储问题。

  • 可使用管理控制台停止应用程序服务器:
    1. 在管理控制台中,单击 服务器> 服务器类型> WebSphere 应用程序服务器
    2. 选择要停止的应用程序服务器,然后单击 停止
    3. 确认您是否要停止应用程序服务器。
    4. 查看 状态 值以及任何消息或日志,以了解应用程序服务器是否停止。
  • [IBM i]可以使用 stopserver Qshell 脚本来停止应用程序服务器:
  • [IBM i]您可以使用 End Job (ENDJOB) CL 命令来停止应用程序服务器:
    要使用 ENDJOB CL 命令,请输入:
    ENDJOB JOB(jobNumber/QEJBSVR/jobName) OPTION(*CNTRLD) DELAY(delayTime)
    
    其中 jobNumber 是作业号,jobName 是应用程序服务器作业的名称,而 delayTime 是等待作业结束的时间段(以秒计)。 初始时可将 delayTime 设置为 600 秒,随后在必要时将其调整为更适合您的环境的值。

结果

在分配给指定服务器的请求完成处理后,该服务器将停止。 要验证服务器是否处于停止状态,请在管理控制台中单击服务器 > 服务器类型>WebSphere 应用程序服务器

下一步做什么?

如果在关闭服务器时迂到任何问题,请参阅 故障诊断管理