使用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這個文件
                賦予執(zhí)行權(quán)限
                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
                #wrapper.java.initmemory=3
                  JVM啟動時的初始內(nèi)存大小,當前是3M,如果要自定義,將#去掉,設置自己的值即可。
                #wrapper.java.maxmemory=64
                JVM啟動時的最大內(nèi)存使用量,當前是64M,如果要自定義,將#去掉,設置自己的值即可。
                #這個就是你自己可執(zhí)行程序的主類(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、測試 執(zhí)行命令:service QueueTest start|stop|restart|status
                程序運行時,Java Service Wrapper在/opt/tianlong/bin/目錄下產(chǎn)生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...

          出現(xiàn)上面這個就表示已經(jīng)配置成功了。如果配置有錯誤的話,在wrapper.log里面會有提示。
          同時,如果程序配置成功的并且啟動的話,在/opt/tianlong/bin里面會有一個QueueTest.pid。

          附目錄結(jié)構(gòu)
          /opt/tianlong/
              cofig.properties
          /opt/tianlong/bin
                           | QueueTest
                           | wrapper
                           | wrapper.log(程序運行時自動產(chǎn)生)
          /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

          posted on 2009-06-19 15:49 舒阜東 閱讀(3850) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           

          導航

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          統(tǒng)計

          常用鏈接

          留言簿

          隨筆檔案

          文章檔案

          51CTO下載(IT技術(shù)資料免費下載平臺)

          搜索

          最新評論

          主站蜘蛛池模板: 宣城市| 松潘县| 凤庆县| 措勤县| 和平区| 怀化市| 贵港市| 长宁县| 普洱| 陇西县| 遵义市| 卢氏县| 南靖县| 社会| 上思县| 巨鹿县| 霍城县| 腾冲县| 阿拉善右旗| 甘谷县| 蓝山县| 嘉定区| 南丹县| 紫云| 新密市| 乌什县| 南平市| 尉氏县| 大渡口区| 侯马市| 农安县| 北宁市| 满洲里市| 林甸县| 中西区| 霍州市| 贺兰县| 湟源县| 宝丰县| 苏尼特右旗| 湘潭县|