小编典典

在Linux上将JBoss 7作为服务启动

linux

以前的JBoss版本包含一个脚本(如jboss_init_redhat.sh),可以将其复制到/etc/init.d以便将其添加为服务-
因此它将在启动时启动。我似乎在JBoss 7中找不到任何类似的脚本。有人做过这样的事情吗?

PS我正在尝试在Ubuntu 10.04中实现这一点


阅读 328

收藏
2020-06-03

共1个答案

小编典典

在花了几个小时的窥探之后,我最终创建/etc/init.d/jboss了以下内容

#!/bin/sh
### BEGIN INIT INFO
# Provides:          jboss
# Required-Start:    $local_fs $remote_fs $network $syslog
# Required-Stop:     $local_fs $remote_fs $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start/Stop JBoss AS v7.0.0
### END INIT INFO
#
#source some script files in order to set and export environmental variables
#as well as add the appropriate executables to $PATH
[ -r /etc/profile.d/java.sh ] && . /etc/profile.d/java.sh
[ -r /etc/profile.d/jboss.sh ] && . /etc/profile.d/jboss.sh

case "$1" in
    start)
        echo "Starting JBoss AS 7.0.0"
        #original:
        #sudo -u jboss sh ${JBOSS_HOME}/bin/standalone.sh

        #updated:
        start-stop-daemon --start --quiet --background --chuid jboss --exec ${JBOSS_HOME}/bin/standalone.sh
    ;;
    stop)
        echo "Stopping JBoss AS 7.0.0"
        #original:
        #sudo -u jboss sh ${JBOSS_HOME}/bin/jboss-admin.sh --connect command=:shutdown

        #updated:
        start-stop-daemon --start --quiet --background --chuid jboss --exec ${JBOSS_HOME}/bin/jboss-admin.sh -- --connect command=:shutdown
    ;;
    *)
        echo "Usage: /etc/init.d/jboss {start|stop}"
        exit 1
    ;;
esac

exit 0

这是内容java.sh

export JAVA_HOME=/usr/lib/jvm/java_current
export PATH=$JAVA_HOME/bin:$PATH

jboss.sh

export JBOSS_HOME=/opt/jboss/as/jboss_current
export PATH=$JBOSS_HOME/bin:$PATH

显然,您需要确保将JAVA_HOME和JBOSS_HOME设置为适合您的环境。

然后我运行,sudo update-rc.d jboss defaults以便JBoss在系统启动时自动启动

我发现本文对创建上面的启动脚本很有帮助。同样,以上脚本适用于Ubuntu(在我的情况下为10.04版),因此在Fedora
/ RedHat或CentOS中使用它可能无法正常工作(注释中的设置与此不同)。

2020-06-03