在 Windows Server 上部署 Java 程序是一个常见需求,尤其是在企业级应用中。以下是详细的步骤和建议,帮助你在 Windows Server 上成功部署 Java 应用(如 Spring Boot、Java Web 项目等)。
🧩 一、准备工作
1. 安装 Java 运行环境(JRE 或 JDK)
Java 程序需要 JVM(Java 虚拟机)来运行。
步骤:
-
下载并安装 JDK(推荐使用 OpenJDK 或 Oracle JDK)
- 推荐版本:OpenJDK 11 / 17 / 21(LTS 版本更稳定)
- 下载地址:
- https://adoptium.net/(推荐)
- https://openjdk.org/
- https://www.oracle.com/java/technologies/downloads/
-
安装后配置环境变量:
JAVA_HOME = C:Program FilesJavajdk-17 Path += %JAVA_HOME%bin
✅ 验证安装:
java -version javac -version # 如果安装了JDK
🛠️ 二、准备你的 Java 程序
通常 Java 程序打包为:
.jar
文件(如 Spring Boot 项目).war
文件(部署到 Tomcat 等容器)
示例:Spring Boot 打包成 jar
mvn clean package
# 输出 target/myapp.jar
将生成的 myapp.jar
上传到服务器(可通过 FTP、SCP、共享文件夹等方式)。
🚀 三、部署方式(根据类型选择)
方式一:直接运行 JAR(推荐用于 Spring Boot)
1. 启动命令
java -jar myapp.jar
2. 后台运行(避免关闭窗口时停止)
使用 nohup
不适用 Windows,改用以下方法:
方法 A:使用 PowerShell 后台运行
Start-Process java -ArgumentList "-jar", "myapp.jar" -WindowStyle Hidden
方法 B:创建 .bat
批处理脚本
新建 start.bat
:
@echo off
start "My Java App" java -jar myapp.jar
exit
双击运行即可在后台启动。
方式二:使用 Windows 服务(生产推荐)
让 Java 程序作为系统服务运行,开机自启、崩溃自动重启。
推荐工具:NSSM (Non-Sucking Service Manager)
- 下载 NSSM:https://nssm.cc/download
- 解压后运行
nssm install MyJavaApp
- 配置:
- Path:
C:Program FilesJavajdk-17binjava.exe
- Arguments:
-jar "C:myappmyapp.jar"
- Startup directory:
C:myapp
- Path:
- 点击 “Install service”
✅ 启动服务:
net start MyJavaApp
✅ 设置开机自启:
在“服务”管理器中设置启动类型为“自动”。
方式三:部署 WAR 到 Tomcat
如果你的程序是传统 Web 应用(WAR 包):
1. 安装 Apache Tomcat
- 下载 Tomcat(建议 9.x 或 10.x):https://tomcat.apache.org/
- 解压到目录,如
C:tomcat
2. 配置环境变量(可选)
CATALINA_HOME = C:tomcat
3. 部署 WAR 包
将 myapp.war
复制到:
C:tomcatwebapps
4. 启动 Tomcat
运行:
C:tomcatbinstartup.bat
访问:http://localhost:8080/myapp
💡 建议将 Tomcat 也注册为 Windows 服务(使用
service.bat install
)
🔐 四、安全与优化建议
-
防火墙开放端口
- 如你的应用监听 8080,则在防火墙中允许该端口入站。
- 控制面板 → Windows Defender 防火墙 → 高级设置 → 入站规则 → 新建规则(端口 TCP 8080)
-
使用反向X_X(可选)
- 使用 IIS + ARR 或 Nginx 做反向X_X,提高安全性与性能。
- 将外部请求转发到本地 Java 服务(如 127.0.0.1:8080)
-
日志管理
- 将输出重定向到日志文件:
java -jar myapp.jar > app.log 2>&1
- 或使用日志框架(Logback、Log4j)
- 将输出重定向到日志文件:
-
内存设置(JVM 参数)
java -Xms512m -Xmx2g -jar myapp.jar
-
定期备份与监控
- 监控进程是否存活
- 使用任务计划程序或第三方工具(如 Nagios、Zabbix)
🧪 五、测试部署
-
检查端口是否监听:
netstat -an | findstr :8080
-
浏览器访问:
http://<服务器IP>:8080
-
查看日志确认无报错。
✅ 总结:推荐部署流程(生产环境)
步骤 | 内容 |
---|---|
1 | 安装 OpenJDK(如 JDK 17) |
2 | 打包 Java 应用为 .jar |
3 | 使用 NSSM 注册为 Windows 服务 |
4 | 开放防火墙端口 |
5 | 配置日志输出和 JVM 参数 |
6 | (可选)使用 IIS/Nginx 反向X_X |
如有具体问题(如 Spring Boot 报错、端口冲突、服务无法启动),欢迎提供详细信息,我可以进一步帮你排查。
是否需要我为你生成一个完整的 .bat
脚本或 NSSM 配置示例?