tomcat 和 jdk 的配置 适当加大tomcat的内存

时间秒杀一切 提交于 2020-04-11 12:10:38

在安装Tomcat之前我们必须先配置好JDK:   最简单的JDK配置方式:   打开系統属性(点击我的电脑——属性),然后选择高级里面的环境变量。在新的打开介面里需要新建JAVA_HOME   然后配置jdk的路径如:C:\Program Files\Java\jdk1.6.0(我的jdk安装在C盘)   再到path的最前面加上:%JAVA_HOME%\bin.;   配置完成。       修改Tomcat端口号步骤: 1.找到Tomcat目录下的conf文件夹 2.进入conf文件夹里面找到server.xml文件 3.打开server.xml文件 4.在server.xml文件里面找到下列信息

<Connector port="8080"

maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" redirectPort="8443" acceptCount="100"

connectionTimeout="20000" disableUploadTimeout="true" />

5.把port="8080"改成port="8888",并且保存 6.启动Tomcat,并且在IE浏览器里面的地址栏输入http://127.0.0.1:8888/           Tomcat项目动态部署:   1.在Tomcat 6.0\conf目录下server.xml文件<Host >标签添加  

<Host>

<Context path="" reloadable="true" docBase="E:\project_nd\noteserverweb\context"      workDir=""/>

</Host>

  path 是虚拟路径;   workDir 是这个应用的工作目录,存放运行时生成的与这个应用相关的文件;   docBase 配置项目存放页面的物理路径。       2.直接将web项目文件件拷贝到webapps 目录中 Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。所以可以将JSP程序打包成一个 war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个web程序的所有内容进行压缩得到。具体如何打包,可以使用许多开发工具的IDE环境,如Eclipse等。也可以用 cmd 命令:jar -cvf mywar.war  myweb webapps这个默认的应用目录也是可以改变。打开Tomcat的conf目录下的server.xml文件,找到下面内容:  

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">

  将appBase修改即可。     3.在Tomcat 6.0\bin路径下启动Tomcat服务器。       如果启动后发生页面标签无法检测问题请添加标签jar包 4.在项目\WEB-INF\lib路径下添加两个标签jar包。 jstl.jar standard.jar       Tomcat扩展内存的方式:   Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,轻微时,会使系统性能急剧下降,严重时,将导致系统无法运行,影响系统的稳定性。当内存不够用时,常见的问题就是报tomcat内存益处错误,从儿导致客户端包500错误的,如下:解决方法主要是加大TOMCAT可利用内存,并在程序当中加大内存使用。因此根据应用的需求,有必要调整JVM使用内存的大小。现在将手工修改tomcat内存的方法及注意事项列出,希望能对新人有所帮助。 tomcat提供了两种安装模式,即免安装(*.zip)和安装(*.exe)方式。针对不同的安装方式下修改tomcat内存大小的方法几注意问题(windows环境): 方式1:当选择安装方式时,可以在安装tomcat的过程进行设置tomcat初始化内存的大小。但是假如说在安装时没有选择,或者应用改变了,需要增加tomcat内存时怎么半呢?此时,我们就要手工修改tomcat的一些文件了: 看了很多网上的资料,都是说修改<CATALINA_HOME>\bin\catalina.bat文件的内容,即在里面增加一行代码:

set JAVA_OPTS=-Xms512m -Xmx512m //表示初始化最小可用内存和最大可用内存都是512MB(修改相应值即可)

如在catalina.bat的

rem ----- Execute The Requested Command

echo Using CATALINA_BASE: %CATALINA_BASE%

echo Using CATALINA_HOME: %CATALINA_HOME%

echo Using CATALINA_TMPDIR: %CATALINA_TMPDIR%

echo Using JAVA_HOME: %JAVA_HOME%

这一栏改为

rem ----- Execute The Requested Command

set JAVA_OPTS=-Xms512m -Xmx512m

echo Using CATALINA_BASE: %CATALINA_BASE%

echo Using CATALINA_HOME: %CATALINA_HOME%

echo Using CATALINA_TMPDIR: %CATALINA_TMPDIR%

echo Using JAVA_HOME: %JAVA_HOME%

就可以将JAVA虚拟机分配内存 508.0625MB的! 但是很多人修改后,发现修改并没有起作用,即通过windows的服务启动tomcat时,实际的内存还是默认的,修改的设置并没有起作用;而通过<CATALINA_HOME>\bin\startup.bat 启动却是生效的。这是为什么呢?因为在安装过程中,JVM的初始化参数已经写在注册表中了,由于没有修改注册表中相关参数,所以以windows服务方式启动时,修改的并没有生效。而通过<CATALINA_HOME>\bin\startup.bat 启动直接是通过<CATALINA_HOME>\bin\catalina.bat文件中的配置的。你需要重新加载到系统服务中才生效,或者你手工在注册表中查找修改启动值,加载到服务中的时候参数已经配置好了,自己修改artup.bat不会改变注册表中的参数设置。   解决方法:修改注册表中的参数,加入JVM初始化内存的参数:

HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions

值为

-Dcatalina.home="C:\ApacheGroup\Tomcat 5.0"

-Djava.endorsed.dirs="C:\ApacheGroup\Tomcat 5.0\common\endorsed"

-Xrs

如加入 -Xms512m -Xmx800m

  方式2:针对免安装的用户,也可以通过将tomcat注册为windows的一个服务的方式来实现:‘ 我们可以对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

修改后:

"%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

修改后:

"%EXECUTABLE%" //US//%SERVICE_NAME% --JvmOptions

"-Xms128M;-Xmx256M;-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服务就可以启动了。 1G内存:

JAVA_OPTS='-Xms512m -Xmx512m'

2G内存:JAVA_OPTS='-Xms512m -Xmx1024m'

4G内存:JAVA_OPTS='-Xms512m -Xmx2048m'


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!