Windows Server部署Java项目的完整指南
结论先行: 在Windows Server上部署Java项目主要涉及JDK环境配置、项目打包部署、以及服务化运行三个关键步骤,推荐使用Tomcat或Spring Boot内嵌容器方式部署,并通过NSSM工具实现服务化守护进程。
一、环境准备
-
安装JDK
- 下载Windows版JDK(推荐JDK 8/11/17 LTS版本)
- 配置环境变量:
JAVA_HOME: C:Program FilesJavajdk-17 Path追加: %JAVA_HOME%bin - 验证安装:
java -version
-
可选Web容器
- Tomcat:适合传统WAR包部署
- Spring Boot内嵌容器:直接运行JAR包更简便
二、项目部署方式
方案1:Tomcat部署WAR包
- 将项目打包为
your-app.war(Maven:mvn package) - 复制WAR包到Tomcat的
webapps目录 - 启动Tomcat:
binstartup.bat- 关键点:Tomcat默认监听8080端口,需确保防火墙放行
方案2:Spring Boot JAR直接运行
- 打包可执行JAR:
mvn package生成your-app.jar - 命令行启动:
java -jar your-app.jar --server.port=8080- 优势:无需额外容器,内置Tomcat/Netty等
三、服务化与持久运行
核心需求: 避免命令行窗口关闭导致服务终止,需将Java进程转为系统服务。
使用NSSM工具(推荐)
- 下载NSSM
- 安装服务:
nssm install "YourJavaService" "C:pathtojava.exe" "-jar C:appyour-app.jar" - 启动服务:
nssm start YourJavaService- 注意:通过服务管理器可设置自动重启
备选方案:Windows Service Wrapper
通过配置XML文件将JAR包装为服务,适合复杂参数场景。
四、常见问题排查
- 端口冲突:
netstat -ano | findstr 8080 # 检查端口占用 - 内存不足:
调整JVM参数:java -Xms512m -Xmx1024m -jar your-app.jar - 日志查看:
- Tomcat日志:
logs/catalina.out - Spring Boot日志:默认控制台或配置
logging.file.path
- Tomcat日志:
五、安全与优化建议
- 防火墙规则:仅开放必要端口(如80/443)
- 使用反向X_X:通过Nginx/IIS实现负载均衡和HTTPS
- 监控方案:
- JDK自带工具:
jconsole或VisualVM - 第三方:Prometheus + Grafana
- JDK自带工具:
总结:
对于大多数Java项目,推荐使用Spring Boot内嵌容器+NSSM服务化组合,简化部署流程;若需传统架构,则选择Tomcat部署WAR包。无论哪种方式,务必通过服务管理工具保证进程稳定性,并通过日志和监控确保长期可靠运行。
CLOUD云计算