设为首页 收藏本站
查看: 285|回复: 0

[经验分享] tomcat系统服务 (还没试过)

[复制链接]

尚未签到

发表于 2017-1-23 07:41:43 | 显示全部楼层 |阅读模式
tomcat系统服务
下载的zip版的tomcat要注册为windows系统服务就要运行bin/service.bat


加载系统服务为
service install tomcat6
卸载系统服务为
service remove tomcat6

可以对service.bat文件做一些其他修改,使tomcat更加能满足我们各种不同需求时的要求

1. 如果让tomcat编译jsp文件,就在PR_CLASSPATH中加入J2SDK的tools.jar
修改前:
set PR_CLASSPATH=%CATALINA_HOME%\bin\bootstrap.jar
修改后:
set PR_CLASSPATH=%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\bin\bootstrap.jar

2.要使用一个特定的JVM,就要修改jvm的参数;要使注册的windows服务的启动方式为自动,增加--Startup Automatic,这个是比较常用的;要用定制的server.xml配置文件并且传递多个参数给StartClass,要修改StartParams的值,各个值之间用分号分隔:
修改前:
"%EXECUTABLE%" //IS//%SERVICE_NAME% --Jvm auto
--StartClass org.apache.catalina.startup.Bootstrap --StopClass org.apache.catalina.startup.Bootstrap
--StartParams start --StopParams stop
修改后: 添加--Startup Automatic参数到最后
"%EXECUTABLE%" //IS//%SERVICE_NAME% --Jvm "%JAVA_HOME%\jre\bin\server\jvm.dll"
--StartClass org.apache.catalina.startup.Bootstrap --StopClass org.apache.catalina.startup.Bootstrap
--StartParams "-config;%CUSTOM_SERVERXML_FILE%;-nonaming;start" --StopParams stop
--Startup Automatic

3. 指定最大和最小的内存限制,要增加jvm的初始参数
修改前:
"%EXECUTABLE%" //US//%SERVICE_NAME% --JvmOptions
"-Dcatalina.base=%CATALINA_BASE%;-Dcatalina.home=%CATALINA_HOME%;-Djava.endorsed.dirs=%CATALINA_HOME%\common\endorsed"
--StartMode jvm --StopMode jvm

修改后:
设定虚拟内存大小和堆大小和内存回收策略,注意参数间使用分号间开,
添加-Xms1024M;-Xmx1024M;-XX:NewRatio=3;-XX:PermSize=200M;-XX:MaxPermSize=299M;
"%EXECUTABLE%" //US//%SERVICE_NAME% --JvmOptions
"-Xms1024M;-Xmx1024M;-XX:NewRatio=3;-XX:PermSize=200M;-XX:MaxPermSize=299M;-Dcatalina.base=%CATALINA_BASE%;-Dcatalina.home=%CATALINA_HOME%;-Djava.endorsed.dirs=%CATALINA_HOME%\common\endorsed"
--StartMode jvm --StopMode jvm

4.有时注册windows服务成功后,但是启动服务时显示“发生服务特定错误: 0.”
就是因为jvm没有指定,修改Jvm auto为Jvm "%JAVA_HOME%\jre\bin\server\jvm.dll"后重新注册windows服务就可以启动了。

Java代码
@echo off   
if "%OS%" == "Windows_NT" setlocal   
rem ---------------------------------------------------------------------------   
rem NT Service Install/Uninstall script   
rem   
rem Options   
rem install                Install the service using Tomcat5 as service name.   
rem                        Service is installed using default settings.   
rem remove                 Remove the service from the System.   
rem   
rem name        (optional) If the second argument is present it is considered   
rem                        to be new service name                                             
rem   
rem $Id: service.bat 467182 2006-10-23 23:47:06Z markt $   
rem ---------------------------------------------------------------------------   
  
rem Guess CATALINA_HOME if not defined   
set CURRENT_DIR=%cd%   
if not "%CATALINA_HOME%" == "" goto gotHome   
set CATALINA_HOME=%cd%   
if exist "%CATALINA_HOME%\bin\tomcat6.exe" goto okHome   
rem CD to the upper dir   
cd ..   
set CATALINA_HOME=%cd%   
:gotHome   
if exist "%CATALINA_HOME%\bin\tomcat6.exe" goto okHome   
echo The tomcat.exe was not found...   
echo The CATALINA_HOME environment variable is not defined correctly.   
echo This environment variable is needed to run this program   
goto end   
rem Make sure prerequisite environment variables are set   
if not "%JAVA_HOME%" == "" goto okHome   
echo The JAVA_HOME environment variable is not defined   
echo This environment variable is needed to run this program   
goto end   
:okHome   
if not "%CATALINA_BASE%" == "" goto gotBase   
set CATALINA_BASE=%CATALINA_HOME%   
:gotBase   
   
set EXECUTABLE=%CATALINA_HOME%\bin\tomcat6.exe   
  
rem Set default Service name   
set SERVICE_NAME=Tomcat6   
set PR_DISPLAYNAME=Apache Tomcat   
  
if "%1" == "" goto displayUsage   
if "%2" == "" goto setServiceName   
set SERVICE_NAME=%2  
set PR_DISPLAYNAME=Apache Tomcat %2  
:setServiceName   
if %1 == install goto doInstall   
if %1 == remove goto doRemove   
if %1 == uninstall goto doRemove   
echo Unknown parameter "%1"  
:displayUsage   
echo.   
echo Usage: service.bat install/remove [service_name]   
goto end   
  
:doRemove   
rem Remove the service   
"%EXECUTABLE%" //DS//%SERVICE_NAME%   
echo The service '%SERVICE_NAME%' has been removed   
goto end   
  
:doInstall   
rem Install the service   
echo Installing the service '%SERVICE_NAME%' ...   
echo Using CATALINA_HOME:    %CATALINA_HOME%   
echo Using CATALINA_BASE:    %CATALINA_BASE%   
echo Using JAVA_HOME:        %JAVA_HOME%   
  
rem Use the environment variables as an example   
rem Each command line option is prefixed with PR_   
  
set PR_DESCRIPTION=Apache Tomcat Server - http://jakarta.apache.org/tomcat   
set PR_INSTALL=%EXECUTABLE%   
set PR_LOGPATH=%CATALINA_BASE%\logs   
set PR_CLASSPATH=%CATALINA_HOME%\bin\bootstrap.jar   
rem Set the server jvm from JAVA_HOME   
set PR_JVM=%JAVA_HOME%\jre\bin\server\jvm.dll   
if exist "%PR_JVM%" goto foundJvm   
rem Set the client jvm from JAVA_HOME   
set PR_JVM=%JAVA_HOME%\jre\bin\client\jvm.dll   
if exist "%PR_JVM%" goto foundJvm   
set PR_JVM=auto   
:foundJvm   
echo Using JVM:              %PR_JVM%   
rem 设定启动方式为自启动   
"%EXECUTABLE%" //IS//%SERVICE_NAME% --StartClass org.apache.catalina.startup.Bootstrap --StopClass org.apache.catalina.startup.Bootstrap --StartParams start --StopParams stop --Startup Automatic   
if not errorlevel 1 goto installed   
echo Failed installing '%SERVICE_NAME%' service   
goto end   
:installed   
rem Clear the environment variables. They are not needed any more.   
set PR_DISPLAYNAME=   
set PR_DESCRIPTION=   
set PR_INSTALL=   
set PR_LOGPATH=   
set PR_CLASSPATH=   
set PR_JVM=   
rem Set extra parameters   
rem 设定虚拟内存   
"%EXECUTABLE%" //US//%SERVICE_NAME% --JvmOptions "-Xms512M;-Xmx512M;-XX:NewRatio=3;-XX:PermSize=100M;-XX:MaxPermSize=100M;-Dcatalina.base=%CATALINA_BASE%;-Dcatalina.home=%CATALINA_HOME%;-Djava.endorsed.dirs=%CATALINA_HOME%\endorsed" --StartMode jvm --StopMode jvm   
rem More extra parameters   
set PR_LOGPATH=%CATALINA_BASE%\logs   
set PR_STDOUTPUT=auto   
set PR_STDERROR=auto   
"%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp" --JvmMs 128 --JvmMx 256   
echo The service '%SERVICE_NAME%' has been installed.   
  
:end   
cd %CURRENT_DIR%

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-332161-1-1.html 上篇帖子: 配置Myeclipse和tomcat 下篇帖子: Tomcat 6 集群配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表