Linux 下命令行启动与关闭WebLogic的相关服务

WebLogic 的服务器类型

WebLogic提供了三种类型的服务器:

  1. 管理服务器
  2. 节点服务器
  3. 托管服务器

示例和关系如下图:

对应三类服务器, 就有三种启动和关闭的方式。本篇介绍使用命令行脚本的方式启动和关闭这三种类型的服务器。

关于WebLogic 的相关介绍可以参考:

WebLogic及其重要概念

Linux 下WebLogic 服务器的启动方式

在Linux服务器中日常的WebLogic的管理中,较常使用的启动和关闭服务器的方式有:

服务器类型启动停止
管理服务器命令行命令行
节点服务器命令行命令行
受管服务器1.管理控制台
2.命令行
1.管理控制台
2.命令行

管理控制台的方式直观, 容易记忆, 但命令行的方式更为高效, 特别是在自动化和定期自动处理上较为便捷。

命令行启动与关闭管理服务器

可以使用域目录下的 startWebLogic.sh 启动WebLogic 服务器。

在实际的场景中,往往是登录到远端的WebLogic 服务器, 使用命令终端启动,在这种使用场景下,如果Shell关闭则服务就停止了, 比如说使用Putty SSH登录远端的Linux服务器, 在Putty的终端启动了WebLogic, 在Putty 关闭的时候, 管理服务器也就关闭了。

此外, 为了查看日志方便, 可以将管理服务器的日志输出到指定的文件。

综合以上的要求, 完整的启动脚本如下:

cd /weblogic/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/bin
nohup ./startWebLogic.sh >> mansrv.log &
  • nohup 和 & 用于设定进程在后台运行
  • 注意替换成实际的WebLogic的域的目录

    管理服务器的关闭就简单了,

    cd /weblogic/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/bin
    ./stopWebLogic.sh
    

    命令行启动与关闭节点管理器

    在管理服务器启动之后,启动WebLogic节点管理器的步骤如下:

    1. 打开命令行窗口。
    2. 进入WebLogic的安装目录,例如:cd /home/oracle/Oracle/Middleware/user_projects/domains/base_domain/bin。
    3. 运行startNodeManager.sh(Unix/Linux)或startNodeManager.cmd(Windows)命令。

      示例:

    cd /weblogic/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/bin
    nohup ./startNodeManager.sh >> nodeman.log &
    

    关闭WebLogic节点管理器:

    1. 打开命令行窗口。
    2. 进入WebLogic的安装目录,例如:cd /home/oracle/Oracle/Middleware/user_projects/domains/base_domain/bin。
    3. 运行stopNodeManager.sh(Unix/Linux)或stopNodeManager.cmd(Windows)命令。

      示例:

    cd /weblogic/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/bin
    ./stopManagedWebLogic.sh
    

    命令行启动与关闭受管服务器

    受管服务器也有对应的脚本文件 startManagedWebLogic.sh , 但受管服务器的命令相对要复杂一点。

    在 Linux 系统中关闭受管服务器可以使用以下步骤:

    1. 打开终端,并进入 WebLogic安装目录的域目录的bin 目录,比如:
    cd /weblogic/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/bin
    
    1. 执行以下命令关闭受管服务器:
    ./startManagedWebLogic.sh server_name url username password
    

    其中,server_name 参数为受管服务器的名称,url 参数为受管服务器的 URL,username 和 password 参数为访问受管服务器所需的用户名和密码。

    例如,关闭名为 myserver 的受管服务器,URL 为 t3://localhost:7001,用户名为 weblogic,密码为 password,则命令应为:

    ./startManagedWebLogic.sh myserver t3://localhost:7001
    

    启动的过程中需要输入登录管理控制台的用户和密码。

    如何避免输入管理员用户和密码

    WebLogic 管理服务器的启动脚本startManagedWebLogic.sh在运行时可能需要输入管理员用户名和密码。可以通过创建一个包含用户名和密码的 boot 属性文件,然后在启动脚本中使用这个文件的方式来避免在每次启动服务器时手动输入这些信息。

    以下是创建和使用 boot 属性文件的步骤:

    1. 创建一个新的文本文件,例如命名为boot.properties。
    2. 在这个文件中输入你的用户名和密码,格式如下:
     username=your_username
       password=your_password
    
    将`your_username`和`your_password`替换为你的 WebLogic 管理员用户名和密码。
    
    1. 将boot.properties文件放到你的服务器的security目录下。这个目录的位置一般是:

    {DOMAIN_HOME}/servers/{SERVER_NAME}/security

    在这里,{DOMAIN_HOME}是你的域的主目录,{SERVER_NAME}是你的服务器名称。

    1. 运行startManagedWebLogic.sh脚本来启动服务器:
    ./startManagedWebLogic.sh myserver t3://localhost:7001
    

    配置之后,服务器在启动时就会使用boot.properties文件中的用户名和密码进行自动登录了。

    • 注意,保存用户名和密码在文件中会带来安全风险,需要确保boot.properties文件的访问权限设置得足够严格,以防止任何未授权的访问。另外,WebLogic 在第一次读取这个文件后,会将其中的用户名和密码加密,以提供一些额外的安全性。

      在哪台机器运行启动受管服务器命令

      使用startManagedWebLogic.sh脚本来启动 WebLogic 受管理服务器(Managed Server)时,应该在托管该服务器的物理机器上运行这个脚本。

      举例来看:

      受管服务器机器名
      ManagedServer_1machine1
      ManagedServer_2machine2
      ManagedServer_3machine2

      启动ManagedServer_3, 执行如下命令:

       ./startManagedWebLogic.sh anagedServer_3  t3://xxx:7001
      
      • 该命令在machine1执行也可以启动, 但是启动的进程是在machine1
      • 正确的方式是在machine2 执行启动ManagedServer_3

        总结

        • 启动管理服务器

          nohup ./startWebLogic.sh >> mansrv.log &

        • 启动节点管理器

          nohup ./startNodeManager.sh >> nodeman.log &

        • 启动受管服务器

          可以在管理控制台启动受管服务器, 也可以使用命令行的方式启动:

          ./startManagedWebLogic.sh 受管服务器名字 t3://管理服务器IP:端口

          避免启动时输入用户名、密码:在{DOMAIN_HOME}/servers/{SERVER_NAME}/security 中 创建boot.properties文件,存放用户名、密码。