windows server部署java程序?

服务器

在 Windows Server 上部署 Java 程序是一个常见需求,尤其适用于运行 Java Web 应用(如 Spring Boot、Tomcat 部署的 WAR 包等)或后台服务。以下是详细的部署步骤和建议:


一、准备工作

1. 安装 Java 运行环境(JRE 或 JDK)

方法一:下载并安装 JDK

  1. 访问 Oracle JDK 或 OpenJDK(推荐使用 Adoptium 的 Temurin JDK)。
  2. 下载适用于 Windows 的 JDK(如 jdk-17_x64.exe)。
  3. 安装 JDK,建议安装路径为:
    C:Program FilesJavajdk-17

方法二:使用压缩包(绿色版)

  1. 下载 JDK 的 ZIP 包(如 OpenJDK17U-jdk_x64_windows_hotspot_17.0.8_7.zip)。
  2. 解压到指定目录,例如:
    C:javajdk-17

2. 配置环境变量

右键“此电脑” → “属性” → “高级系统设置” → “环境变量”

添加系统变量:

  • 变量名:JAVA_HOME
    变量值:C:Program FilesJavajdk-17(根据实际路径)

  • 变量名:CLASSPATH
    变量值:.;%JAVA_HOME%lib;%JAVA_HOME%libtools.jar

修改 Path 变量,添加:

%JAVA_HOME%bin

3. 验证安装

打开命令提示符(CMD)或 PowerShell,运行:

java -version
javac -version

应显示版本信息,说明配置成功。


二、部署 Java 程序

情况一:部署 JAR 包(如 Spring Boot 应用)

1. 上传 JAR 文件

将你的 Java 程序(如 myapp.jar)上传到服务器,例如:

C:appmyapp.jar

2. 测试运行

在 CMD 中执行:

java -jar myapp.jar

如果正常启动,说明可以运行。

3. 后台运行(推荐使用工具)

方式1:使用 PowerShell 后台运行
Start-Process java -ArgumentList "-jar", "myapp.jar" -WindowStyle Hidden
方式2:使用 nohup 类似工具(Windows 不支持 nohup)

可使用 .bat 脚本后台运行:

@echo off
start "MyApp" /B java -jar myapp.jar > app.log 2>&1
方式3:注册为 Windows 服务(推荐生产环境)

使用 NSSM (Non-Sucking Service Manager) 将 Java 程序注册为服务:

  1. 下载 NSSM:https://nssm.cc/download
  2. 解压后运行 nssm install MyApp
  3. 配置:
    • Path: C:Program FilesJavajdk-17binjava.exe
    • Arguments: -jar "C:appmyapp.jar"
    • Startup directory: C:app
  4. 点击 Install Service
  5. 使用服务管理器启动服务

优点:开机自启、崩溃自动重启、日志管理等。


情况二:部署 WAR 包(使用 Tomcat)

1. 下载并安装 Tomcat

  1. 下载 Apache Tomcat(如 Tomcat 9 或 10):https://tomcat.apache.org/
  2. 解压到目录,如:
    C:tomcatapache-tomcat-9.0.xx

2. 配置环境变量(可选)

  • CATALINA_HOME = C:tomcatapache-tomcat-9.0.xx

3. 部署 WAR 包

将你的 myapp.war 放入:

C:tomcatapache-tomcat-9.0.xxwebapps

4. 启动 Tomcat

运行:

C:tomcatapache-tomcat-9.0.xxbinstartup.bat

5. 注册为服务(生产推荐)

使用 service.bat 安装为 Windows 服务:

C:tomcatapache-tomcat-9.0.xxbinservice.bat install MyTomcat

然后在“服务”中管理启动/停止。


三、防火墙与端口配置

确保服务器防火墙允许访问 Java 程序的端口(如 8080):

  1. 打开“高级安全 Windows 防火墙”
  2. 添加入站规则 → 端口 → TCP → 8080
  3. 允许连接

四、日志与监控

  • 日志输出建议重定向到文件:
    java -jar myapp.jar > app.log 2>&1
  • 使用事件查看器或日志轮转工具(如 Logrotate 风格工具)管理日志。
  • 可结合 PowerShell 脚本或任务计划定期检查进程状态。

五、安全建议

  1. 使用非管理员账户运行 Java 程序。
  2. 定期更新 JDK 和应用依赖。
  3. 避免暴露管理端口(如 Spring Boot Actuator)到公网。
  4. 配置 HTTPS(可通过 IIS 反向X_X + SSL 卸载)。

六、可选:使用 IIS 反向X_X(推荐)

若希望使用 80/443 端口,可使用 IIS + ARR(Application Request Routing)反向X_X:

  1. 安装 IIS 和 ARR 模块。
  2. 配置 URL Rewrite 规则,将请求X_X到 http://localhost:8080。
  3. 绑定域名和 SSL 证书。

总结

步骤 内容
1 安装 JDK 并配置环境变量
2 上传 JAR 或 WAR 文件
3 测试运行程序
4 使用 NSSM 或 Tomcat 注册为服务
5 配置防火墙和端口
6 (可选)使用 IIS 反向X_X

如果你提供具体的 Java 程序类型(如 Spring Boot、普通 JAR、WAR、还是 JavaFX 后台服务),我可以给出更精准的部署脚本或配置建议。

未经允许不得转载:CDNK博客 » windows server部署java程序?