当前位置: 首页 > 面试题库 >

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

贾沛
2023-03-14
问题内容

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

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


问题答案:

在花了几个小时的窥探之后,我最终创建/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中使用它可能无法正常工作(注释中的设置与此不同)。



 类似资料:
  • 问题内容: 我已经编写了一个在标准虚拟主机Linux解决方案上运行的Java服务器应用程序。该应用程序始终在运行,以监听套接字连接并为其创建新的处理程序。它是客户端服务器应用程序的服务器端实现。 我启动它的方法是将其包含在服务器的启动 rc.local 脚本中。但是,一旦启动,我不知道如何访问它以停止它以及是否要安装更新,因此我必须重新启动服务器才能重新启动应用程序。 在Windows PC上,对

  • 我编写了一个Java服务器应用程序,它运行在一个标准的虚拟主机Linux解决方案上。应用程序一直运行,监听套接字连接,并为它们创建新的处理程序。它是客户端-服务器应用程序的服务器端实现。 我启动它的方式是将它包含在服务器的start up rc.local脚本中。但是一旦启动我不知道如何访问它,停止它,如果我想安装一个更新,所以我必须重新启动服务器,以便重新启动应用程序。 在windows PC上

  • 如何在生产环境中将hazelcast服务器作为linux服务运行? java-server-cp hazelcast。jar com。黑兹卡斯特。例子。StartServer StartServer运行带有输出到std终端的服务器,将其作为linux服务运行并将日志写入文件的最简单方法是什么 我必须将其设置为EC2实例中的服务并将其捆绑。当EC2自动缩放启动实例时,hazelcast服务器将启动并

  • 我想在Debian服务器上启动jstatd作为一个守护进程(我认为它自己应该这么做…)但我似乎无法让它发挥作用。 如果我从命令行运行它,它会正常启动,但会阻塞终端会话。然后我可以使用VisualVM远程监控进程(是的!)。但是一旦我点击^c以控制会话,jstatd就会终止。 好的,那么让我们通过init来实现。d脚本! 同样,它工作正常,但我的终端会话仍然被阻塞。 我的启动命令是 如前所述,它运行

  • 我希望payara服务器作为服务运行。我以sudo的身份登录asadmin,并使用create-service命令。给出了以下输出。 这将在 /etc/init.d/ 文件夹中创建payara_production脚本,但一旦重新启动计算机,就不会执行此脚本。我必须手动启动payara才能运行它。 “您已经创建了服务,但是您需要自己启动它”是什么意思,我在之前使用的GlassFish版本中没有类似

  • 问题内容: 我在运行Ubuntu 16.04 LTS的ARM Odroid XU4上安装了ELasticsearch 6和JDK 1.8.0_161。没有错误。 当我尝试将Elasticsearch作为服务启动时,无法在端口9200上连接到localhost,并且服务状态显示为: 没有日志。不知道在哪里看。nofile限制在中设置为65536 。我不知道在其他地方可以找到诊断信息。 虽然,当我通过