linux下weblogic开机启动服务

本文介绍如何通过编写shell脚本实现WebLogic服务的自动化启动和停止,并将其配置为系统服务,便于日常管理和维护。

step1.
准备好weblogic的启动和关闭的脚本(startWeblogic.sh和stopWeblogic.sh)
可以参考:https://github.com/yangbijia/myShell/blob/master/README.md

step 2.
vim /etc/init.d/weblogic

#!/bin/bash
# chkconfig: 2345 80 10
# description: Weblogic Server auto start/stop script.
# /etc/rc.d/init.d/weblogic

# Please edit the variable
export BASE_PATH=/share/sh
export LOG_PATH=/home/weblogic

# if the executables do not exist -- display error

if [ ! -f $BASE_PATH/startWeblogic.sh -o ! -d $BASE_PATH ]
then
      echo "WebLogic startup: cannot start"
      exit 1
fi
# depending on parameter -- startup, shutdown, restart

case "$1" in
  start)
      echo -n "Starting WebLogic,log file $LOG_PATH: "
      touch /var/lock/weblogic
      $BASE_PATH/./startWeblogic.sh
      echo "OK"
      ;;
  stop)
      echo -n "Shutdown WebLogic,log file $LOG_PATH: "
      rm -f /var/lock/weblogic
      $BASE_PATH/./stopWeblogic.sh
      echo "OK"
      ;;
  reload|restart)
      $0 stop
      $0 start
      ;;
  *)
      echo "Usage: `basename $0` start|stop|restart|reload"
      exit 1
esac
exit 0

step3.
给刚刚写的weblogic脚本文件执行权限
chmod +x /etc/init.d/weblogic
添加为服务
chkconfig –add weblogic
查看是否添加成功
chkconfig –list | grep weblogic

step4.
测试服务是否能成功运行
重启看看,是不是成功了
运行service weblogic stop或者service weblogic start或者service weblogic restart是否成功

<think>首先,用户的问题是:“我想在Linux系统中配置或持久化WebLogic服务 请问Linux 持久化 WebLogic 服务配置方法”。这涉及到在Linux上配置WebLogic服务,使其持久化运行。 关键点: - 用户提到“持久化WebLogic服务”,意思是确保WebLogic服务器在系统重启后自动启动,或者作为系统服务运行。 - 参考引用中提到了WebLogic的日志配置(引用[1])和Tomcat的session持久化(引用[2]和[3]),但这些不是直接相关的。引用[1]是关于WebLogic控制台日志输出的,引用[2]和[3]是关于Tomcat的session持久化。用户的问题是关于WebLogic服务的持久化,所以我需要专注于WebLogic启动和守护进程配置。 系统级指令: - 所有行内数学表达式使用$...$格式:但在这个问题中,可能没有数学表达式,所以我可以忽略。 - 独立公式使用$$...$$:同样,可能不需要。 - LaTeX语法正确:确保任何数学格式正确。 - 使用中文回答:整个响应必须用中文。 - 生成相关问题:在回答结束后,添加相关问题。 - 回答中引用的段落末尾添加引用标识:如[^1]。参考引用提供了[^1]、[^2]、[^3],但我需要基于这些引用构建响应。引用[1]是关于WebLogic日志的,引用[2]和[3]是关于Tomcat的,所以可能不直接相关。我应该基于用户的问题和这些引用来回答。 用户真正的需求是配置WebLogic服务Linux上持久化。持久化通常意味着: - 将WebLogic设置为系统服务(如使用systemd),以便在启动时自动运行。 - 或者使用脚本如init.d脚本。 参考引用: - 引用[1]:提到了在启动WebLogic时设置Java系统属性来重定向日志。这可以用于配置启动参数,但不是直接关于持久化服务。 - 引用[2]和[3]:关于Tomcat的session持久化,与WebLogic不同,但概念类似——持久化数据。然而,用户的问题是关于服务持久化(服务运行),而不是数据持久化。 所以,我应该专注于WebLogic服务的守护进程配置。 步骤来配置WebLogicLinux上持久化: 1. **创建启动脚本**:通常,创建一个init.d脚本或systemd服务文件。 2. **配置为系统服务**:使用systemd(现代Linux发行版)或init.d(旧版)。 3. **设置启动参数**:包括日志重定向等,如引用[1]提到的。 4. **确保自动启动**:启用服务以在启动时运行。 结构化回答: - 介绍:解释持久化WebLogic服务的含义。 - 步骤:逐步指导如何配置。 - 代码示例:如果适用,提供脚本示例。 - 引用相关部分:在末尾添加引用标识。 生成相关问题: - 在回答结束后,添加3-5个相关问题。 使用中文回答。 大纲回答: 1. **引言**:解释在Linux上持久化WebLogic服务的重要性。 2. **方法一:使用systemd(推荐)**: - 创建systemd服务文件。 - 示例服务文件内容。 - 启用服务。 3. **方法二:使用init.d脚本(旧系统)**: - 创建init.d脚本。 - 示例脚本内容。 4. **配置日志输出**:结合引用[1],设置日志重定向。 5. **验证和测试**。 6. **相关问题**。 添加引用:在相关段落末尾添加[^1]、[^2]、[^3]。引用[1]是关于日志的,引用[2]和[3]是关于Tomcat的,但用户的问题可能涉及配置文件的持久化,所以我可以间接引用。 例如: - 当讨论日志配置时,添加[^1]。 - 当讨论配置文件时,添加[^2]或[^3],但可能不直接匹配。 确保回答真实可靠:基于标准WebLogic管理知识。 最终响应结构: - 回答部分。 - 相关问题部分。</think>### Linux 持久化 WebLogic 服务配置方法 在 Linux 系统中配置 WebLogic 服务持久化,意味着将 WebLogic 服务器设置为系统守护进程(如使用 systemd 或 init.d 脚本),确保其在系统启动时自动运行,并在崩溃后自动重启。这提高了服务的可靠性和可维护性。以下方法基于标准 WebLogic 管理实践,并结合了日志配置和持久化概念(参考引用内容)。我将以清晰步骤指导您完成配置,使用 systemd(推荐用于现代 Linux 发行版如 Ubuntu 20.04+ 或 CentOS 7+)和备选方案 init.d 脚本。 #### 步骤 1: 准备工作 - **确保 WebLogic 已安装**:在 Linux 上安装 WebLogic 服务器(例如,通过 Oracle 安装程序或脚本),并设置好域(Domain)和 Admin Server。 - **获取关键路径**: - WebLogic 安装目录:如 `/opt/oracle/weblogic` - 域目录:如 `/opt/oracle/domains/mydomain` - 启动脚本:通常位于域目录下的 `bin/startWebLogic.sh`。 - **权限设置**:使用 `root` 用户或 `sudo` 权限执行配置命令。 #### 步骤 2: 配置为 systemd 服务(推荐方法) systemd 是现代 Linux 系统的标准服务管理器,提供自动重启、日志集成等功能。以下是详细步骤: 1. **创建 systemd 服务文件**: - 在 `/etc/systemd/system/` 目录下创建文件,例如 `weblogic.service`。 - 编辑文件内容(使用 `vi` 或 `nano` 编辑器): ```bash sudo nano /etc/systemd/system/weblogic.service ``` - 粘贴以下配置(根据您的路径调整 `ExecStart`、`User` 和 `Environment` 参数): ``` [Unit] Description=Oracle WebLogic Server After=network.target [Service] Type=simple User=weblogic # 替换为运行 WebLogic 的系统用户,如 oracle Group=weblogic # 替换为用户组 Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64" # 设置 Java 路径 Environment="DOMAIN_HOME=/opt/oracle/domains/mydomain" # 设置域目录 ExecStart=/opt/oracle/domains/mydomain/bin/startWebLogic.sh Restart=on-failure # 服务失败时自动重启 RestartSec=30s # 重启等待时间 TimeoutStartSec=300 # 启动超时时间 # 配置日志重定向(参考引用[1]的日志输出方法) Environment="LOG_DIR=/var/log/weblogic" StandardOutput=file:${LOG_DIR}/stdout.log StandardError=file:${LOG_DIR}/stderr.log [Install] WantedBy=multi-user.target ``` - **关键点**: - `Environment` 行设置 Java 和域路径,确保正确启动。 - `StandardOutput` 和 `StandardError` 将系统输出重定向到日志文件,便于管理和归档(类似引用[1]中的 `-Dweblogic.Stdout` 参数,但使用 systemd 更标准)[^1]。 - `Restart=on-failure` 实现服务持久化,自动处理崩溃。 2. **设置日志目录权限**: - 创建日志目录并授权: ```bash sudo mkdir -p /var/log/weblogic sudo chown -R weblogic:weblogic /var/log/weblogic # 用户和组名替换为实际值 ``` 3. **启用并启动服务**: - 重新加载 systemd 配置: ```bash sudo systemctl daemon-reload ``` - 启动 WebLogic 服务并设置开机自启: ```bash sudo systemctl start weblogic sudo systemctl enable weblogic ``` 4. **验证服务状态**: - 检查服务运行状态: ```bash sudo systemctl status weblogic ``` - 如果输出显示 `active (running)`,表示配置成功。同时,查看日志文件 `/var/log/weblogic/stdout.log` 确认输出。 #### 步骤 3: 备选方案:使用 init.d 脚本(旧版系统如 CentOS 6) 如果您的系统不支持 systemd(例如使用 SysV init),可以使用 init.d 脚本。但 systemd 更高效,推荐优先使用。 1. **创建 init.d 脚本**: - 在 `/etc/init.d/` 目录下创建文件,例如 `weblogic`。 - 编辑文件内容: ```bash sudo nano /etc/init.d/weblogic ``` - 粘贴以下脚本(根据路径调整): ```bash #!/bin/bash # chkconfig: 345 99 01 # description: WebLogic Server Service JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 DOMAIN_HOME=/opt/oracle/domains/mydomain USER=weblogic LOG_DIR=/var/log/weblogic case "$1" in start) echo "Starting WebLogic..." su - $USER -c "export JAVA_HOME=$JAVA_HOME; $DOMAIN_HOME/bin/startWebLogic.sh > $LOG_DIR/stdout.log 2> $LOG_DIR/stderr.log &" ;; stop) echo "Stopping WebLogic..." su - $USER -c "$DOMAIN_HOME/bin/stopWebLogic.sh >> $LOG_DIR/stdout.log 2>> $LOG_DIR/stderr.log" ;; restart) $0 stop sleep 5 $0 start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 ;; esac exit 0 ``` - **关键点**: - 脚本使用 `su - $USER` 以指定用户运行,避免权限问题。 - 日志重定向到文件(`> $LOG_DIR/stdout.log 2> $LOG_DIR/stderr.log`),实现类似引用[1]的日志持久化[^1]。 - 配置文件位置(如 `DOMAIN_HOME`)需确保正确,类似引用[3]中的 catalina.properties 配置概念[^3]。 2. **设置权限和日志目录**: - 赋予脚本执行权限: ```bash sudo chmod +x /etc/init.d/weblogic ``` - 创建日志目录并授权(同 systemd 步骤)。 3. **注册服务并测试**: - 添加服务启动项: ```bash sudo chkconfig --add weblogic sudo chkconfig weblogic on ``` - 启动服务: ```bash sudo service weblogic start ``` #### 步骤 4: 验证持久化效果 - **测试重启**:重启 Linux 系统,然后运行 `sudo systemctl status weblogic`(或 `service weblogic status`)确认 WebLogic 自动启动。 - **日志检查**:查看 `/var/log/weblogic/stdout.log` 和 `stderr.log`,确保无错误输出。 - **性能监控**:使用工具如 `top` 或 `journalctl -u weblogic`(针对 systemd)监控服务资源使用。 #### 注意事项 - **安全配置**:WebLogic 用户权限应限制(如非 root 用户),避免安全风险。类似引用[3]中的 tomcat-users.xml 角色管理[^3]。 - **持久化数据**:如果涉及 session 或数据持久化(如数据库连接),需在 WebLogic 控制台配置数据源,参考引用[2]中的 session 持久化概念,但 WebLogic 使用不同的机制(如 JDBC 存储)[^2]。 - **错误处理**:如果启动失败,检查路径和权限(常见错误是 `User` 或 `JAVA_HOME` 设置不正确)。 - **备份配置文件**:持久化配置后,备份服务文件(如 `/etc/systemd/system/weblogic.service`),类似引用[2]中的 context.xml 配置文件管理[^2]。 通过以上方法,您可以在 Linux 上可靠地持久化 WebLogic 服务。如果遇到问题,提供更多细节(如 WebLogic 版本和 Linux 发行版)以便进一步诊断。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值