环境:
操作系统: Windows 7 SP1
JDK:Java version “1.7.0_80”
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)Tomcat:apache-tomcat-7.0.73-64bit
Tomcat服务的安装
关于JDK的配置,和Tomcat的参数配置就不在这里介绍了,请参考其他文章。
- 启动DOC命令窗口,并进入Tomcat的bin目录。
- 之后在命令行中输入
service.bat install my-tomcat
,回车后出现如下信息,表明安装成功。
- 这时候我们就可以在系统服务当中发现我们按照的my-tomcat服务了。
- 继续在命令窗口中输入
services.msc
回车,我们就可以看到如下信息:
- 至此,服务的安装我们就已经大功告成了。这时我们可以启动服务,也可以修改服务为自动启动。
此外
假如我们需要在一台服务器上安装多个Tomcat,这时我们需要考虑的是服务之间端口冲突的问题;并且我们还需要将Tomcat拷贝多份,分别进行配置和安装。至于安装的命令,一定注意不能重复服务名哟。最后结合我之前的一片文章Tomcat 特定 JDK 的设定,我们还可以安装不同版本Tomcat和Jre的环境。
最后,关于Tomcat服务的端口配置其实很简单,我们只需要打开Tomcat目录项目的conf\server.xml
文件,把下面的8080修改为我们需要的就可以了。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
Tomcat服务内存的配置
在安装完成Tomcat服务后,为了充分的利用服务器资源,我们需要配置一下服务的内存参数,已达到充分利用如今廉价的内存资源,从而也避免我们的应用程序在运行过程中的内存溢出异常。
当然,这是最简单粗略的内存问题解决方案。如果想彻底的解决内存问题,除了这里的配置之外,我们还需要在编程习惯,架构策略以及框架的应用上进行充分的规划。此外,我们还可以通过已有的JVM工具,对正在执行的进程进行监控和分析,从而彻底解决内存问题。
好了,闲话少说,下面我们介绍一下服务的内存配置。
其实关于服务内存的配置,我们有两种方法。一种是通过注册表进行配置;另一种是通过Tomcat为我们提供的工具进行配置。
通过注册表进行配置
- 继续在命令行中输入
regedit
,找到如下节点。
// 32位系统
HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\my-tomcat\Parameters\Java
// 64位系统
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\my-tomcat\Parameters\Java
- 在
Options
项中添加如下代码
-Xms4096m
-Xmx4096m
-XX:PermSize=256m
-XX:MaxPermSize=512m
呵呵,大家看到我在这里配置4G的堆内存,服务器吗,在允许的情况尽量多用一些内存,减少后续麻烦。哈哈,我是做软件产品的,系统部署在客户那里,运行稳定是我们追求的主要目标之一。
下面我简单的介绍一下这几个参数。
- -Xms4096m
为JVM启动时的初始堆内存。
- -Xmx4096m
为JVM的最大可以使用的堆内存。
以上这两项为实际我们JAVA代码所用的内存地址。
- -XX:PermSize=256m
, 为JVM启动时的初始非堆内存
- -XX:MaxPermSize=512m
,为JVM的最大可以使用的非堆内存。
以上这两项为JVM本身的非托管代码所使用的内存。
Tomcat为我们提供的工具进行配置。
- 将Tomcat路径下面的
bin\tomcat7w.exe
重命名为服务的名称,如这里我们的my-tomcat.exe
。 - 双击打开这个文件,我们就可以配置内地址了。
Tomcat绿色启动时的内存配置
进入tomcat/bin目录下,找到catalina.bat文件在文件首行中插入下面这段配置即可:
set JAVA_OPTS=-Xms4096m -Xmx4096m -XX:PermSize=256m -XX:MaxPermSize=512m