您的位置:首页 > 运维架构 > Linux

Java程序作linux服务并且开机自动启动

2012-03-13 14:58 489 查看
以有个java应用名称为test,打包为test.jar,程序入口为cn.com.ppnote.SocketServer。

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

1、下载Java Service Wrapper(目前版本wrapper-linux-x86-32-3.2.3), 解压。

http://wrapper.tanukisoftware.org/

复制src\bin\sh.script.in到/opt/testapp/bin目录,重命名为SocketServer

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

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

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

wrapper.so

wrapper.jar

2、修改/opt/testapp/bin/SocketServer文件

APP_NAME="SocketServer"

APP_LONG_NAME="SocketServer Application Server"

WRAPPER_CMD="./wrapper"

WRAPPER_CONF="../conf/wrapper.conf"

赋予执行权限

chmod 775 /opt/testapp/bin/SocketServer

chmod 775 /opt/testapp/bin/wrapper

3、修改/opt/testapp/conf/wrapper.conf文件

wrapper.java.command=/opt/jdk1.6.0_02/bin/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/test.jar

wrapper.java.classpath.3=/opt/jdk1.6.0_02/lib/dt.jar

wrapper.java.classpath.4=/opt/jdk1.6.0_02/lib/tools.jar

wrapper.java.library.path.1=../lib

#这个就是你自己可执行程序的主类(MainClass),一般来说,就是包含public static void main的那个类

wrapper.app.parameter.1=cn.com.ppnote.SocketServer

wrapper.app.parameter.2=1

wrapper.app.parameter.3=true

wrapper.app.parameter.4=cn.com.ppnote.SocketServer

wrapper.app.parameter.5=true

wrapper.app.parameter.6=1

wrapper.app.parameter.7=stop

上面的配置里使用了WrapperStartStopApp,这样可以通过命令带start/stop来启动/停止程序。

4、让SocketServer开机自动运行

ln -s /opt/testapp/bin/SocketServer /etc/init.d/SocketServer

ln -s /opt/testapp/bin/SocketServer /etc/rc0.d/SocketServer

ln -s /opt/testapp/bin/SocketServer /etc/rc1.d/SocketServer

ln -s /opt/testapp/bin/SocketServer /etc/rc2.d/SocketServer

ln -s /opt/testapp/bin/SocketServer /etc/rc3.d/SocketServer

ln -s /opt/testapp/bin/SocketServer /etc/rc4.d/SocketServer

ln -s /opt/testapp/bin/SocketServer /etc/rc5.d/SocketServer

ln -s /opt/testapp/bin/SocketServer /etc/rc6.d/SocketServer

5、测试 执行命令:service SocketServer start|stop|restart|status

程序运行时,Java Service Wrapper在/opt/testapp/bin/目录下产生wrapper.log日志,

STATUS | wrapper | 2007/08/01 17:17:01 | --> Wrapper Started as Daemon

STATUS | wrapper | 2007/08/01 17:17:01 | Launching a JVM...

INFO | jvm 1 | 2007/08/01 17:17:09 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
INFO | jvm 1 | 2007/08/01 17:17:09 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved.

INFO | jvm 1 | 2007/08/01 17:17:09 |

INFO | jvm 1 | 2007/08/01 17:17:10 | 程序开始运行...

INFO | jvm 1 | 2007/08/01 17:17:26 | Connection: Open

......

附目录结构

/opt/testapp/bin

| SocketServer

| wrapper

| wrapper.log(程序运行时自动产生)

/opt/testapp/conf

| wrapper.conf

/opt/testapp/lib

| libwrapper.so

| wrapper.jar

| test.jar
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: