以前的JBoss版本包含一个脚本(如jboss_init_redhat.sh),可以将其复制到/etc/init.d以便将其添加为服务- 因此它将在启动时启动。我似乎在JBoss 7中找不到任何类似的脚本。有人做过这样的事情吗?
jboss_init_redhat.sh
PS我正在尝试在Ubuntu 10.04中实现这一点
在花了几个小时的窥探之后,我最终创建/etc/init.d/jboss了以下内容
/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:
java.sh
export JAVA_HOME=/usr/lib/jvm/java_current export PATH=$JAVA_HOME/bin:$PATH
和jboss.sh:
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在系统启动时自动启动
sudo update-rc.d jboss defaults
我发现本文对创建上面的启动脚本很有帮助。同样,以上脚本适用于Ubuntu(在我的情况下为10.04版),因此在Fedora / RedHat或CentOS中使用它可能无法正常工作(注释中的设置与此不同)。