`
lhx1026
  • 浏览: 307020 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

使用Java Service Wrapper将java程序作为linux服务并且开机自动启动

阅读更多

以java应用程序为例,打包为tianlong.jar,程序入口为tianlong.QueueTest。

下面在linux的/opt下建立tianlong目录,复制tianlong.jar到/opt/tianlong/lib目录下。

1、下载Java Service Wrapper(目前版本wrapper-linux-x86-32-3.3.2), 解压。
http://wrapper.tanukisoftware.org/
复制src\bin\sh.script.in/opt/tianlong/bin目录,重命名为QueueTest

复制wrapper\bin目录下的wrapper文件/opt/tianlong/bin目录

复制src\conf\wrapper.conf.in/opt/tianlong/conf目录,重命名为wrapper.conf

复制src\lib\lib目录下3个文件到/opt/tianlong/lib目录

wrapper.so
wrapper.jar
wrappertest.jar

2、修改/opt/tianlong/bin/QueueTest文件
APP_NAME="QueueTest" //注意这里,这里的应用服务名称应该与第1步的/opt/tianlong/bin里面的QueueTest名字相同
APP_LONG_NAME="QueueTest Application Server"
WRAPPER_CMD="./wrapper" //这里的路径要写正确,这里是对应了/opt/tianlong/bin/wrapper这个文件
WRAPPER_CONF="../conf/wrapper.conf" //这里的路径要写正确,这里是对应了/opt/tianlong/conf/wrapper.conf这个文件
赋予执行权限
chmod 775 /opt/testapp/bin/SocketServer
chmod 775 /opt/testapp/bin/wrapper

3、修改/opt/tianlong/conf/wrapper.conf文件
wrapper.java.command=/usr/java/jdk1.6.0_07/bin/java //这里是写java的安装路径
使用WrapperStartStopApp,这样可以通过命令带start/stop来启动/停止程序。
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperStartStopApp
#这里添加你用到的jar包文件,从1..n你自己全写上吧,不过wrapper是必须的
wrapper.java.classpath.1=../lib/wrapper.jar
wrapper.java.classpath.2=../lib/tianlong.jar //这里表示将打包好的tianlong.jar放在/opt/tianlong/lib这个文件夹中
wrapper.java.classpath.3=../lib/asterisk-java-0.3.jar
wrapper.java.classpath.4=../lib/mysql-connector-java-5.1.6-bin.jar
wrapper.java.classpath.5=/usr/java/jdk1.6.0_07/lib/dt.jar
wrapper.java.classpath.6=/usr/java/jdk1.6.0_07/lib/tools.jar
wrapper.java.classpath.7=../cofig.properties //这个是应用程序用到的配置文件。如果使用的应用程序需要用到配置,就需要把这个文件包含进来
wrapper.java.library.path.1=../lib //这里是表示wrapper使用到的jar包的路径,一般默认即可,绝对路径是:/opt/tianlong/lib
#这个就是你自己可执行程序的主类(MainClass),一般来说,就是包含public static void main的那个类
wrapper.app.parameter.1=tianlong.QueueTest
wrapper.app.parameter.2=1
wrapper.app.parameter.3=true
wrapper.app.parameter.4=tianlong.QueueTest
wrapper.app.parameter.5=true
wrapper.app.parameter.6=1
wrapper.app.parameter.7=stop

4、让QueueTest开机自动运行
ln -s /opt/tianlong/bin/QueueTest/etc/init.d/QueueTest
ln -s /opt/tianlong/bin/QueueTest /etc/rc0.d/QueueTest
ln -s /opt/tianlong/bin/QueueTest /etc/rc1.d/QueueTest
ln -s /opt/tianlong/bin/QueueTest /etc/rc2.d/QueueTest
ln -s /opt/tianlong/bin/QueueTest /etc/rc3.d/QueueTest
ln -s /opt/tianlong/bin/QueueTest /etc/rc4.d/QueueTest
ln -s /opt/tianlong/bin/QueueTest /etc/rc5.d/QueueTest
ln -s /opt/tianlong/bin/QueueTest /etc/rc6.d/QueueTest

5、测试 执行命令:service QueueTest start|stop|restart|status
程序运行时,Java Service Wrapper在/opt/tianlong/bin/目录下产生wrapper.log日志,
STATUS | wrapper| 2009/02/25 17:04:01 | --> Wrapper Started as Daemon
STATUS | wrapper| 2009/02/25 17:04:01 | Java Service Wrapper Community Edition 3.3.2
STATUS | wrapper| 2009/02/25 17:04:01 | Copyright (C) 1999-2009 Tanuki Software, Ltd.All Rights Reserved.
STATUS | wrapper| 2009/02/25 17:04:01 | http://wrapper.tanukisoftware.org
STATUS | wrapper| 2009/02/25 17:04:01 |
STATUS | wrapper| 2009/02/25 17:04:01 | Launching a JVM...
INFO | jvm 1 | 2009/02/25 17:04:02 | WrapperManager: Initializing...

出现上面这个就表示已经配置成功了。如果配置有错误的话,在wrapper.log里面会有提示。
同时,如果程序配置成功的并且启动的话,在/opt/tianlong/bin里面会有一个QueueTest.pid。

附目录结构
/opt/tianlong/
cofig.properties
/opt/tianlong/bin
| QueueTest
| wrapper
| wrapper.log(程序运行时自动产生)
/opt/tianlong/conf
| wrapper.conf
/opt/tianlong/lib
| libwrapper.so
| wrapper.jar
| tianlong.jar
| mysql-connector-java-5.1.6-bin.jar
| asterisk-java-0.3.jar
分享到:
评论
1 楼 u012359453 2017-07-19  
我是Android开发的,最近需要做一个消息转发的后台,我写好了一般的java程序,使用
nohup java -jar test.jar & 的形式一直运行着,目前问题不大,但是考虑到linux宕机会影响程序,所以想写成服务,开机自启,但是之前怎么写都没成功,现在我想用wrapper试一下,请问打包的时候这个tianlong.jar是可运行的还是不需要引入依赖包的,谢谢,能否告诉我这个打包需要注意什么?谢谢!

相关推荐

    Java Service Wrapper使用总结

    WrapperSimpleApp 是 Java Service Wrapper 提供的一个简单的示例应用程序,用于演示如何使用 Java Service Wrapper 将 Java 应用程序发布为可安装的服务。 ams-collector-verify 目录结构 ams-collector-verify ...

    SpringBoot 使用Java Service Wrapper 部署Windows服务

    而Java Service Wrapper(通常简称为Wrapper)是一个工具,它允许将Java应用程序作为操作系统服务来运行,尤其是在Windows环境下。在本文中,我们将深入探讨如何使用Java Service Wrapper将SpringBoot应用部署为...

    Java Service Wrapper 将你的java应用程序安装成windows系统服务

    Java Service Wrapper是一个强大的工具,它允许开发者将Java应用程序轻松地包装为Windows系统服务,以便在操作系统启动时自动启动Java程序,并能实现与系统服务相同的管理功能,如自动重启、日志记录等。这个工具...

    Java Service Wrapper,Window,32位免费社区版

    Java Service Wrapper是一款强大的工具,专为Java应用程序设计,它允许开发者将Java程序转换为操作系统级别的服务,以便在Windows、Linux、Unix等系统上实现后台自动启动和管理。在这个32位免费社区版中,我们专注于...

    Java Service Wrapper配置Java台程序Windows服务

    对以上配置的服务进行测试,运行InstallMyApp-NT.bat将把你的应用(此处为App)安装到Win32系统服务中了。 打开控制面板-管理程序-服务,看到App已经在系统服务中了,其他用法就与我们熟悉的Windows服务一样了。 ...

    Java Service Wrapper部署说明

    完成配置后,可以通过执行Wrapper的可执行文件来启动你的Java应用程序,Wrapper会监控Java进程的状态,确保程序的稳定运行,并支持开机自启动。在Windows的任务管理器中,你可以看到`wrapper.exe`和`java.exe`两个...

    使用JavaServiceWrapper设置tomcat作为linux服务并且开机自动启动.pdf

    ### 使用Java Service Wrapper设置Tomcat作为Linux服务并实现开机自动启动 #### 一、概述 在部署基于Java的应用服务器时,通常需要将Tomcat配置为系统服务,以便于管理和维护。传统的做法是通过编写shell脚本来...

    YSJSW(Yet Another Java Service Wrapper)

    YSJSW,全称为"Yet Another Java Service Wrapper",是一个强大的工具,主要用于将Java应用程序转换为Windows服务。这个工具使得Java应用能够在Windows操作系统环境下无缝运行,就像原生的Windows服务一样,提供了...

    Java Service Wrapper工具把Java程序转换为Windows服务

    Java Service Wrapper工具是一款用于将Java应用程序转换为操作系统服务的实用工具,特别适用于Windows环境。它使得Java程序能够像系统服务一样启动、停止,并且在系统启动时自动运行,提供了更稳定的运行环境和管理...

    用Java Service Wrapper将java程序制作成系统服务进程

    Java Service Wrapper是一个强大的工具,它允许开发者将Java应用程序打包成Windows或其他操作系统下的系统服务。这样,Java程序可以在系统启动时自动运行,即使没有用户登录也能持续运行,且提供了管理和控制服务的...

    Java Service Wrapper使用说明

    Java Service Wrapper是一款强大的工具,它能将任何标准的Java应用程序转换为Windows服务或Unix守护进程,极大地提升了Java应用程序在企业级环境中的可用性和稳定性。本文将详细解析Java Service Wrapper的使用步骤...

    java service wrapper

    Java Service Wrapper是一个强大的工具,主要用于将Java应用程序包装成操作系统级别的服务,使得Java程序可以在Windows、Linux等系统下作为后台服务持续运行,不受用户登录或注销的影响。它提供了启动、停止、管理和...

    Java Service Wrapper64位破解

    去CSDN下载所谓破解出现以下错误:wrapper | Licensed to (null) for (null) wrapper | wrapper | Launching a JVM... jvm 1 | WrapperManager: Initializing... jvm 1 | WrapperJNI Error: Not licensed to use ...

    Maven利用Java service wrapper生成Windows服务

    在项目的开发中,有时候需要将Java应用程序打包成Windows服务,我们就直接可以通过windows的服务来启动和关闭java程序了。 本博文将通过有两种方法实现该功能,手动创建法和Maven自动打包法。

    JavaServiceWrapper将Tomcat写成系统服务

    JavaServiceWrapper是一个强大的工具,它允许Java应用程序在操作系统级别作为服务运行,比如Windows或Linux的服务。这个工具使得Java应用程序,比如Tomcat这样的Web服务器,能够像其他系统服务一样被管理和控制,...

    Java Service Wrapper 3.5.25 标准版破解

    Java Service Wrapper 3.5.25 标准版破解,Windows 64位

    Java Service Wrapper x86-32-3.5.9

    Java Service Wrapper是一款强大的工具,专为在Windows操作系统上运行Java应用程序设计,将其转换为系统服务。这个工具的主要目的是使得Java程序能够像其他Windows服务一样启动、管理和监控,即便是在系统启动时也能...

    JavaServerWrapper做成服务

    JavaServerWrapper是一个强大的工具,主要用于将Java应用程序包装成操作系统服务,这样可以方便地在Windows、Linux等系统上启动、停止和管理Java应用。这个过程通常称为“服务化”或者“做成服务”,它允许Java程序...

Global site tag (gtag.js) - Google Analytics