在 Windows Server 上部署 Java 项目是一个常见需求,尤其是在使用 Tomcat、Spring Boot 或其他 Java Web 框架时。以下是详细的部署步骤,适用于大多数 Java Web 项目(如 Spring Boot、传统 WAR 项目等)。
✅ 一、准备工作
1. 安装 Java 环境(JDK)
确保服务器上安装了合适的 JDK 版本(如 JDK 8、JDK 11、JDK 17 等)。
步骤:
- 下载 JDK(推荐 Oracle JDK 或 OpenJDK)
- 官网:https://www.oracle.com/java/technologies/downloads/
- 或使用 OpenJDK(如 Adoptium、Amazon Corretto)
- 安装 JDK(例如安装到
C:Program FilesJavajdk-17) - 配置环境变量:
# 设置 JAVA_HOME
JAVA_HOME = C:Program FilesJavajdk-17
# 添加到 PATH
PATH += %JAVA_HOME%bin
✅ 验证安装:
java -version javac -version
2. 获取 Java 项目打包文件
- Spring Boot 项目:通常打包为
xxx.jar文件(如myapp.jar) - 传统 Web 项目:打包为
xxx.war文件
你可以通过以下方式获取:
- 在本地使用
mvn clean package(Maven)或gradle build(Gradle)打包 - 将生成的
.jar或.war文件上传到服务器(使用 FTP、SCP、远程桌面复制等)
✅ 二、部署方式(根据项目类型选择)
方式一:部署 Spring Boot JAR 项目(推荐)
1. 上传 JAR 文件
将 myapp.jar 上传到服务器某个目录,如:
D:javaappsmyapp.jar
2. 测试运行
打开命令提示符(以管理员身份运行):
cd D:javaapps
java -jar myapp.jar
如果看到 Spring Boot 启动日志,说明运行成功。
3. 后台运行(使用 nohup 或 Windows 服务)
方法 1:使用 .bat 脚本后台运行
创建 start.bat:
@echo off
cd /d D:javaapps
start "MyApp" java -jar myapp.jar --server.port=8080
exit
使用
start命令可让程序在后台运行。
方法 2:使用 NSSM 将 JAR 包装为 Windows 服务(推荐长期运行)
-
下载 NSSM(Non-Sucking Service Manager):
- https://nssm.cc/download
-
安装服务:
nssm install MySpringBootApp在弹出窗口中设置:
- Path:
C:Program FilesJavajdk-17binjava.exe - Arguments:
-jar D:javaappsmyapp.jar - Directory:
D:javaapps
- Path:
-
启动服务:
nssm start MySpringBootApp
服务会随系统启动自动运行,可在“服务”管理器中查看。
方式二:部署 WAR 项目到 Tomcat
1. 安装 Apache Tomcat
- 下载 Tomcat(如 Tomcat 9 或 10):
- https://tomcat.apache.org/download-90.cgi
- 解压到目录,如:
D:tomcat
2. 配置环境变量(可选)
CATALINA_HOME = D:tomcat
3. 部署 WAR 包
- 将
myapp.war复制到D:tomcatwebapps - 启动 Tomcat:
cd D:tomcatbin startup.bat
Tomcat 会自动解压 WAR 并部署。
4. 访问应用
默认端口 8080,访问:
http://your-server-ip:8080/myapp
5. 设置开机启动(可选)
将 Tomcat 安装为 Windows 服务:
service.bat install
然后在“服务”中设置为自动启动。
✅ 三、配置防火墙和端口
确保服务器防火墙允许访问 Java 应用的端口(如 8080、80、443 等)。
开放端口步骤:
- 打开“高级安全 Windows 防火墙”
- “入站规则” → “新建规则”
- 类型选择“端口” → TCP → 特定本地端口(如 8080)
- 允许连接 → 完成
✅ 四、域名与反向X_X(可选)
使用 IIS 或 Nginx 做反向X_X
示例:使用 IIS + ARR 模块X_X到本地 8080
- 安装 IIS 和 ARR(Application Request Routing)
- 添加网站,绑定域名
- 设置 URL 重写规则,X_X到
http://localhost:8080
这样可以通过 http://www.yourdomain.com 访问 Java 应用。
✅ 五、日志监控
- Spring Boot:日志默认输出到控制台,可重定向到文件
java -jar myapp.jar > app.log 2>&1 - Tomcat:日志在
logs/catalina.out或logs/localhost.log
建议使用日志轮转工具或 ELK 收集日志。
✅ 六、常见问题排查
| 问题 | 解决方案 |
|---|---|
| 端口被占用 | netstat -ano | findstr :8080 查看并 kill 进程 |
| 找不到 Java | 检查 JAVA_HOME 和 PATH |
| 权限不足 | 以管理员身份运行 CMD |
| 应用无法访问 | 检查防火墙、安全组(云服务器) |
| 内存不足 | 添加 JVM 参数:-Xms512m -Xmx2g |
✅ 总结
| 项目类型 | 推荐部署方式 |
|---|---|
| Spring Boot JAR | 使用 NSSM 安装为 Windows 服务 |
| WAR 包 | 部署到 Tomcat,并安装为服务 |
| 高并发生产环境 | 建议使用 Nginx/IIS 反向X_X + JVM 调优 |
如果你提供具体的项目类型(如 Spring Boot、普通 WAR、是否使用数据库等),我可以给出更精确的部署脚本和配置建议。
轻量云Cloud