记录一次项目部署到tomcat的异常

1、sf4j日志配置logback.xml中配置的日志目录报错

09:58:22,075 |-ERROR in ch.qos.logback.core.rolling.RollingFileAppendererrorfile - openFile(D:/var/log/linkmes-web/error.linkmes-web.log,true) call failed. java.io.FileNotFoundException: D:\var\log\linkmes-web\error.linkmes-web.log (拒绝访问。) at java.io.FileNotFoundException: D:\var\log\linkmes-web\error.linkmes-web.log (拒绝访问。)

解决方案:创建目录并设置权限

1. 创建日志目录(如果不存在)

New-Item -Path "D:\var\log\linkmes-web" -ItemType Directory -Force

2. 授予 Everyone 完全控制权限(简单但不太安全)

icacls "D:\var\log\linkmes-web" /grant Everyone:F

3. 或者只授予特定用户权限(更安全)

如果是 LocalSystem 账户运行服务

icacls "D:\var\log\linkmes-web" /grant "NT AUTHORITY\SYSTEM":F

2、启动服务报错页面文件太小,无法完成操作

2026-04-28 13:56:50 Apache Commons Daemon procrun stderr initialized. Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000080000000, 32212254720, 0) failed; error='页面文件太小,无法完成操作。' (DOS error/errno=1455)

解决方案:修改tomcat->bin下的server.bat

不同服务器的内存,需要调整,其中端口9011根据实际调整,不冲突即可。

16GB:

set JvmMs=2048

set JvmMx=4096

set JvmArgs=-Dcom.sun.management.jmxremote;-Dcom.sun.management.jmxremote.port=9011;-Dcom.sun.management.jmxremote.ssl=false;-Dcom.sun.management.jmxremote.authenticate=false;-XX:+UseG1GC;-XX:MaxGCPauseMillis=200;-XX:+HeapDumpOnOutOfMemoryError;-XX:HeapDumpPath=D:\jakarta-tomcat\webapps;-XX:MetaspaceSize=512m;-XX:MaxMetaspaceSize=512m;

48GB:

set JvmMs=8192

set JvmMx=16384

set JvmArgs=-Dcom.sun.management.jmxremote;-Dcom.sun.management.jmxremote.port=9011;-Dcom.sun.management.jmxremote.ssl=false;-Dcom.sun.management.jmxremote.authenticate=false;-XX:+UseG1GC;-XX:MaxGCPauseMillis=200;-XX:+HeapDumpOnOutOfMemoryError;-XX:HeapDumpPath=D:\jakarta-tomcat\webapps;-XX:MetaspaceSize=512m;-XX:MaxMetaspaceSize=512m;

3、服务注册启动后,如果第一次访问顺畅,后续刷新卡顿,可能是网络策略限制。

相关推荐
考虑考虑5 小时前
Mybatis实现批量插入
java·后端·mybatis
咖啡八杯6 小时前
GoF设计模式——中介者模式
java·后端·spring·设计模式
青石路9 小时前
记一次多JDK版本问题的排查,一坑套一坑,差点没爬上来
java
像我这样帅的人丶你还12 小时前
Java 后端详解(五):Redis 缓存
java·后端·全栈
plainGeekDev14 小时前
GreenDAO → Room
android·java·kotlin
亦暖筑序19 小时前
Java 8老系统AI Workflow实战:把一次性AI对话升级成可恢复工作流
java·后端
敲代码的彭于晏20 小时前
Bean 生命周期完全图解:前端同学也能看懂的 Spring 核心机制
java·前端·后端
plainGeekDev21 小时前
ButterKnife → ViewBinding
android·java·kotlin
像我这样帅的人丶你还2 天前
Java 后端详解(四):分页与搜索
java·javascript·后端
她的男孩2 天前
数据权限为什么不能只靠注解?Forge 的 Mapper 层 SQL 改写源码拆解
java·后端·架构