在 Windows Server 上部署 Java 应用程序(如 Spring Boot、Java Web 应用等)是一个常见的需求。以下是详细的部署步骤,适用于大多数 Java 应用场景。
一、准备工作
1. 安装 Java 运行环境(JRE 或 JDK)
Java 应用需要 Java 运行环境(JRE)或 JDK。
步骤:
-
下载 JDK(推荐使用 OpenJDK 或 Oracle JDK):
- OpenJDK:https://adoptium.net/
- Oracle JDK:https://www.oracle.com/java/technologies/downloads/
-
安装 JDK(例如安装到
C:Program FilesJavajdk-17) -
配置环境变量:
- JAVA_HOME:
C:Program FilesJavajdk-17 - Path:添加
%JAVA_HOME%bin
- JAVA_HOME:
-
验证安装:
java -version javac -version
2. 准备你的 Java 应用
通常 Java 应用打包为:
.jar文件(如 Spring Boot 项目).war文件(部署到 Tomcat 等容器)
示例:Spring Boot 项目打包
mvn clean package
生成 target/myapp-0.0.1.jar
二、部署方式(根据应用类型选择)
方式一:直接运行 JAR 文件(推荐 Spring Boot)
1. 上传 JAR 文件
将 .jar 文件上传到服务器(如通过 FTP、远程桌面复制等),例如放到 D:appsmyapp.jar
2. 启动应用
打开命令提示符(CMD)或 PowerShell:
java -jar D:appsmyapp.jar
3. 后台运行(避免关闭窗口时停止)
使用 nohup 类似方式(Windows 不支持 nohup,可用以下方法):
方法 1:使用 start /B
start /B java -jar D:appsmyapp.jar > D:logsapp.log 2>&1
方法 2:使用 PowerShell 后台运行
Start-Process java -ArgumentList "-jar", "D:appsmyapp.jar" -RedirectStandardOutput "D:logsoutput.log" -RedirectStandardError "D:logserror.log" -NoNewWindow
方法 3:使用 Windows 服务(推荐长期运行)
推荐工具:NSSM (Non-Sucking Service Manager)
- 下载 NSSM:https://nssm.cc/download
- 解压后运行
nssm install MyJavaApp - 配置:
- Path:
C:Program FilesJavajdk-17binjava.exe - Arguments:
-jar D:appsmyapp.jar - Startup directory:
D:apps
- Path:
- 点击 Install service
- 使用服务管理器启动
MyJavaApp服务
这样应用就能随系统启动,且在后台稳定运行。
方式二:部署 WAR 到 Tomcat
1. 安装 Apache Tomcat
- 下载 Tomcat:https://tomcat.apache.org/
- 解压到
D:tomcat
2. 配置环境变量(可选)
CATALINA_HOME = D:tomcat
3. 部署 WAR
将你的 .war 文件复制到:
D:tomcatwebappsROOT.war # 覆盖默认首页
或
D:tomcatwebappsmyapp.war
4. 启动 Tomcat
进入 D:tomcatbin,双击 startup.bat 或运行:
D:tomcatbincatalina.bat start
5. 设置为 Windows 服务(推荐)
使用 service.bat 安装为服务:
D:tomcatbinservice.bat install TomcatMyApp
然后在“服务”中启动 TomcatMyApp,并设置为自动启动。
三、配置防火墙和端口
确保服务器防火墙允许访问你的应用端口(如 8080)。
开放端口:
- 打开“Windows Defender 防火墙” → “高级设置”
- 添加入站规则:
- 协议:TCP
- 端口:8080(或其他你使用的端口)
- 允许连接
四、域名与反向X_X(可选)
如果你想用域名访问,可以使用 IIS + ARR 或 Nginx 做反向X_X。
使用 IIS + ARR(Windows 原生支持):
- 安装 IIS(服务器管理器 → 添加角色 → Web 服务器)
- 安装 ARR(Application Request Routing)
- 配置 URL 重写规则,将请求X_X到
http://localhost:8080
五、日志监控与维护
- 定期查看日志文件(如
app.log、Tomcat 的logs/catalina.out) - 使用任务计划程序定期重启服务(可选)
- 使用 Windows 事件查看器监控服务状态
六、安全建议
- 不要以管理员权限运行 Java 应用
- 更新 Java 和系统补丁
- 使用防火墙限制访问 IP(如只允许特定 IP 访问管理端口)
- 避免在 URL 中暴露敏感信息
总结
| 部署方式 | 适用场景 | 推荐程度 |
|---|---|---|
java -jar + NSSM |
Spring Boot 等独立应用 | ⭐⭐⭐⭐⭐ |
| Tomcat 部署 WAR | 传统 Java Web 应用 | ⭐⭐⭐⭐ |
| IIS 反向X_X | 需要域名、HTTPS | ⭐⭐⭐⭐ |
如有具体应用类型(如 Spring Boot、普通 Web、微服务等),可提供更详细配置。欢迎继续提问!
CDNK博客