之前工作中,部署tomcat都是使用Linux服务器,最近遇到个客户,提供的服务器是Windows server,并且需要通过服务的方式管理tomcat;以自己多年的码农经验,感觉应该没有问题,结果啪啪打脸了,遇到的核心问题是配置的虚拟内存没有生效,最终还是解决了,以下问解决方案:
1、环境及软件
Windows server 2016 Datacenter、jdk=1.8.0_181、apache-tomcat-8.5.59-windows-x64.zip
2、配置虚拟内存
jdk安装及环境配置变量、tomcat解压及配置环境变量,这就不过多描述,详细请自行百度。
2.1、使用startup.bat启动
修改bin\catalina.bat文件,在最上面添加这样一句:
set JAVA_OPTS=-Xms256m -Xmx512m
bash
@echo off
set JAVA_OPTS=-Xms256m -Xmx512m
rem Licensed to the Apache Software Foundation (ASF) under one or more
rem contributor license agreements. See the NOTICE file distributed with
rem this work for additional information regarding copyright ownership.
rem The ASF licenses this file to You under the Apache License, Version 2.0
rem (the "License"); you may not use this file except in compliance with
rem the License. You may obtain a copy of the License at
rem
rem http://www.apache.org/licenses/LICENSE-2.0
rem
rem Unless required by applicable law or agreed to in writing, software
rem distributed under the License is distributed on an "AS IS" BASIS,
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.
启动tomcat,有如下信息,说明虚拟内存设置成功。
2.2、使用服务的方式启动
首先、将tomcat安装成系统服务,打开cmd,使用超级管理员权限,执行命令:service.bat install
打开系统服务,可以看到已经注册成功的tomcat服务
启动服务,并查看日志(位置:logs\catalina.2024-03-26.log)
通过日志发现,我们在catalina.bat文件中,配置的虚拟内存没有生效;解决方案,打开bin\tomcat8w.exe程序(前提条件,必须将tomcat注册成系统服务)
将默认的最小和最大内存调整成256和512,然后重启服务,并查看日志
到这里,核心问题就解决了