明星盛典2017snh48:tomcat做成服务

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 11:31:21
从tomcat的bin目录下可以看出tomcat做成服务用的是wrapper(本讨论只针对tomcat6系列版本)

办法其实很简单,用bin下的service.bat即可。不过需要注意几点:
1、做成服务跟catalina.bat就没关系了,所以不需要配置catalina.bat,但是如果用startup.bat就需要配置catalina.bat,指定java_home。
      如:set JAVA_HOME=D:\processor\jdk1.6
2、做服务需要用到tomcat6.exe 如果没有需要下载一个。
3、tomcat6w.exe是用来查看服务的相关配置的(服务名必须是tomcat6,否则需要修改sh文件)。当启动服务的情况下,点击tomcat6w.exe就会出现如下界面
     
4、删除服务的时候需要把服务先停止,删除的方式有两种:1) 进入tomcat\bin 输入 service.bat remove 或者 进入cmd 输入 sc delete 服务名   (注意不是显示名也不是描述等信息)
5、日志的查看方式:tomcat\logs服务名-stdout.2011-11-16.log,比如我的就是tomcat66-stdout.2011-11-16.log(该文件的修改时间始终不变,尽管内容变了,奇怪!)
6、当存在共享路径或者网络映射的时候,做成服务是不合适的,因为当服务启动的时候,网络共享或网络映射都还没有成功!

做成服务的步骤:

1、配置service.bat,其中几个主要的地方包括:
        1、 修改 set JAVA_HOME=D:\processor\jdk1.6 修改此部分为jdk的根目录用绝对路径或者相对路径
        2、 确保所有的路径中没有汉语
        3、 set SERVICE_NAME=Tomcat66 服务的名称 如果要用tomcat6.exe配置参数,需要把此名称指定为tomcat6
        4、 set PR_DISPLAYNAME=Apache Tomcat66 服务的显示名称
        5、 set PR_DESCRIPTION=Apache Tomcat 6.0.33 Server - http://tomcat.apache.org/ 设置要显示的服务的描述
2、进入tomcat的bin目录,输入service.bat install,如果出现如下的就表示成功,如果任意一行出现了空值,证明是失败的。
     



-----------------------------------wrapper做成服务的办法(转载:百度文库,http://wenku.baidu.com/view/0ca2774769eae009581becaa.html)--------------------------------------------------------------------------------------------
1、下载wrappper-windows-x86-32系列的工具包,解压缩为
2、新建一个目录,例如:C:\MyServerApp,并在其下面创建五个文件夹
分别为:bin 可执行程序文件夹
        conf 配置文件夹
        lib jar包文件夹
        logs 日志文件夹包
        application 应用程序包 此包下还新建一个lib 用于存放应用程序所需要的jar包。
3、将\src\bin 中的App.bat.in,InstallApp-NT.bat.in,UninstallApp-NT.bat.in等文件
\bin 下的wrapper.exe复制到bin 目录下,并且将App.bat.in,InstallApp-NT.bat.in,
UninstallApp-NT.bat.in等的后缀.in去掉。
   将\src\conf 下的wrapper.conf文件复制到conf目录下
   将\lib 下的wrapper.jar,wrappertest.jar和wrapper.dll文件复制到lib目录下
   最终的包结构可以是这样子的:
   C:\MyServerApp
      |-bin
           |-App.bat
           |-InstallApp-NT.bat
           |-UninstallApp-NT.bat
           |-wrapper.exe
      |-lib
           |-wrapper.jar 必须要的
           |-wrappertest.jar
           |-wrapper.dll
      |-conf
           |-wrapper.conf
      |-logs
           |-wrapper.log
      |-application
           |-lib 应用程序中如果用到了jar包,那么就复制到此文件夹里
           |-用来存放应用程序(一般应用程序是有包结构的,就把工程里面的bin目录下的.class文件连同包一起拷过来)
4、配置Wrapper工具的wrapper.conf配置文件
      配置Java虚拟机的位置
            wrapper.java.command=C:\Program Files\Java\jdk1.6.0_07\bin\java
            配置wrapper的主类,如果用他的代理方式,就填org.tanukisoftware.wrapper.WrapperSimpleApp
            wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
            工具寻找jar包以及应用程序的路径
            wrapper.java.classpath.1=../lib/wrappertest.jar
            wrapper.java.classpath.2=../lib/wrapper.jar
            wrapper.java.classpath.3=../lib/wrapper.dll
            应用程序连同其文件夹一起拷到application文件夹下了,所以路径只需要指定到../application/
            wrapper.java.classpath.4=../application/
            应用程序要用到的所有jar包
            wrapper.java.classpath.5=../application/lib/*.jar
            wrapper.java.library.path.1=../lib
            wrapper.java.additional.1=-Dprograme.name=run.bat
            要将哪一个应用程序做成服务,就要把他的主函数所在的类名写在这里
            wrapper.app.parameter.1=com.timeseries.MySeries
            wrapper.console.format=PM
            wrapper.console.loglevel=INFO
            指定日志记录的地方
            wrapper.logfile=../logs/wrapper.log
            wrapper.logfile.format=LPTM
            wrapper.logfile.loglevel=INFO
            wrapper.logfile.maxsize=0
            wrapper.logfile.maxfiles=0
            wrapper.syslog.loglevel=NONE
            wrapper.console.title=Wrapper Application
            wrapper.ntservice.name=@wrapper@
            wrapper.ntservice.displayname=@WrapperApplication@
            wrapper.ntservice.description=@WrapperDescription@
            wrapper.ntservice.dependency.1=
            wrapper.ntservice.starttype=AUTO_START
            wrapper.ntservice.interactive=false
5、运行cmd
      cd c:\MyServerApp\bin
      App.bat测试
      InstallApp-NT.bat安装
      UninstallApp-NT.bat卸载安装的服务
||***********************************************************************||
服务里面,程序获取当前路径,不是根据.class或者jar文件所在的目录下的,而是bin目录下。
这一点很重要。所以很多程序所要的配置必须放在bin目录下,而不是和程序放在一起的目录下面。
否则服务执行时候,找不到所需的配置文件。