使用windows server部署java项目?

在 Windows Server 上部署 Java 项目是一个常见需求,尤其在企业环境中。以下是详细的部署步骤和最佳实践:


🛠 一、环境准备

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

下载 JDK

  • 推荐使用 Oracle JDKOpenJDK(如 Adoptium / Eclipse Temurin)
  • 下载地址:
    • https://adoptium.net/
    • https://www.oracle.com/java/technologies/downloads/

安装步骤

  1. 下载 .msi 安装包(Windows Installer)
  2. 双击运行,按提示安装
  3. 记住安装路径,例如:C:Program FilesEclipse Adoptiumjdk-17.0.8.7-hotspot

配置环境变量

  1. 打开 系统属性 → 高级 → 环境变量
  2. 添加系统变量:
    • JAVA_HOME: C:Program FilesEclipse Adoptiumjdk-17.0.8.7-hotspot
    • PATH: 添加 %JAVA_HOME%bin
  3. 验证:
    java -version
    javac -version

2. 准备你的 Java 项目

通常 Java 项目打包为:

  • JAR 文件(Spring Boot 推荐)
  • WAR 文件(配合 Tomcat 等 Web 服务器)

示例:Spring Boot 项目打包

mvn clean package

生成文件:target/myapp-0.0.1-SNAPSHOT.jar


🚀 二、部署方式(推荐 JAR + 内置服务器)

方式一:直接运行 JAR(适用于 Spring Boot)

java -jar myapp.jar

设置后台运行(避免关闭窗口中断服务)

方法1:使用 nohup(Windows 不支持)→ 改用其他方式
方法2:使用 Windows 服务(推荐)

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

步骤:

  1. 下载 NSSM:https://nssm.cc/download
  2. 解压后运行 nssm install MyJavaApp
  3. 配置:
    • Path: C:Program FilesEclipse Adoptiumjdk-17.0.8.7-hotspotbinjava.exe
    • Arguments: -jar "C:deploymyapp.jar"
    • Startup directory: C:deploy
  4. 点击 Install service
  5. 启动服务:
    net start MyJavaApp

✅ 优点:开机自启、崩溃自动重启、日志记录等。


方式二:使用 Tomcat 部署 WAR(传统 Web 项目)

1. 下载并安装 Tomcat

  • 下载地址:https://tomcat.apache.org/
  • 解压到 C:tomcat

2. 部署 WAR

  • myapp.war 复制到 C:tomcatwebapps
  • 启动 Tomcat:
    C:tomcatbinstartup.bat

3. 设置 Tomcat 为 Windows 服务

  • 运行 C:tomcatbinservice.bat install
  • 使用服务管理器启动 Tomcat 服务

🔐 三、安全与优化建议

1. 防火墙配置

  • 打开所需端口(如 8080):
    netsh advfirewall firewall add rule name="Java App Port 8080" dir=in action=allow protocol=TCP localport=8080

2. JVM 参数优化(可选)

java -Xms512m -Xmx2g -jar myapp.jar

3. 日志管理

  • 将日志输出重定向到文件:
    java -jar myapp.jar > logs/app.log 2>&1
  • 或在 Spring Boot 中配置 logging.file.name=logs/app.log

4. 使用 PowerShell 脚本管理

创建 start.ps1

Start-Process java -ArgumentList "-jar", "myapp.jar" -RedirectStandardOutput "logsout.log" -RedirectStandardError "logserr.log" -NoNewWindow

🧪 四、验证部署

  1. 浏览器访问:http://服务器IP:8080
  2. 检查服务状态:
    sc query MyJavaApp
  3. 查看日志文件确认启动成功

🔄 五、更新与维护

  • 停止服务 → 替换 JAR → 启动服务
  • 使用批处理脚本自动化:
    net stop MyJavaApp
    copy /Y new-app.jar myapp.jar
    net start MyJavaApp

✅ 总结:推荐方案

项目类型 推荐方式
Spring Boot JAR + NSSM 注册为服务
传统 Web WAR + Tomcat + 服务
微服务 JAR + 服务 + Nginx 反向

如有具体项目类型(如 Spring Boot、普通 Java Web、微服务等),可提供更详细配置。欢迎继续提问!

未经允许不得转载:ECLOUD博客 » 使用windows server部署java项目?