速卖通素材
努力

windows server部署java项目?

服务器

在 Windows Server 上部署 Java 项目是一个常见需求,尤其在企业环境中。以下是详细的部署步骤和建议,适用于大多数 Java Web 应用(如 Spring Boot、Java EE 等)。


一、准备工作

  1. 确认服务器环境

    • 操作系统:Windows Server 2012/2016/2019/2022
    • 管理员权限(用于安装软件、配置服务等)
    • 开放所需端口(如 8080、80、443)
  2. 安装 Java 运行环境(JRE 或 JDK)

    • 下载并安装 JDK(推荐 Oracle JDK 或 OpenJDK)
      • 官网下载:https://www.oracle.com/java/technologies/downloads/
      • 或使用 OpenJDK(如 Adoptium、Amazon Corretto)
    • 配置环境变量:
      JAVA_HOME = C:Program FilesJavajdk-17
      Path += %JAVA_HOME%bin
    • 验证安装:
      java -version
      javac -version

二、准备 Java 项目

  1. 打包项目为可执行 JAR 或 WAR

    • 如果是 Spring Boot 项目,使用 Maven/Gradle 打包:

      mvn clean package

      生成 target/myapp.jar

    • 如果是传统 Java Web 项目,可能需要打包为 WAR 文件并部署到 Tomcat。

  2. 上传项目到服务器

    • 使用 FTP、SCP、远程桌面复制等方式,将 .jar.war 文件上传到服务器某个目录,如:
      D:java-appsmyapp.jar

三、部署方式选择

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

  1. 测试运行

    java -jar D:java-appsmyapp.jar

    访问 http://服务器IP:8080 查看是否正常。

  2. 后台运行(使用 nohup 或后台窗口)

    • 创建 .bat 脚本运行:
      @echo off
      cd /d D:java-apps
      start "MyApp" java -jar myapp.jar
      exit
    • 或使用 javaw 避免弹出控制台:
      start javaw -jar myapp.jar
  3. 设置开机自启(可选)

    • 使用 Windows 任务计划程序(Task Scheduler)设置开机运行脚本。

方式二:使用 Windows 服务运行(更稳定)

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

  1. 下载 NSSM

    • 官网:https://nssm.cc/download
    • 解压到 C:nssm
  2. 安装服务

    • 打开命令提示符(管理员):
      C:nssmwin64nssm install MyJavaApp
    • 在弹出窗口中配置:
      • Path: C:Program FilesJavajdk-17binjava.exe
      • Arguments: -jar D:java-appsmyapp.jar
      • Startup directory: D:java-apps
  3. 启动服务

    C:nssmwin64nssm start MyJavaApp

    或通过“服务”管理器启动 MyJavaApp

  4. 查看日志

    • 在 NSSM 配置中设置日志输出路径,便于排查问题。

方式三:部署 WAR 到 Tomcat

  1. 安装 Apache Tomcat

    • 下载 Tomcat(如 9.x 或 10.x):https://tomcat.apache.org
    • 解压到 D:tomcat
  2. 配置环境变量

    CATALINA_HOME = D:tomcat
  3. 部署 WAR

    • myapp.war 复制到 D:tomcatwebapps
    • 启动 Tomcat:
      D:tomcatbinstartup.bat
  4. 设置 Tomcat 为服务(可选)

    • 运行 service.bat install 将 Tomcat 安装为 Windows 服务。

四、配置网络和防火墙

  1. 开放端口

    • 打开 Windows 防火墙,允许入站规则:
      • 端口:8080(或你应用使用的端口)
    • 或使用命令:
      netsh advfirewall firewall add rule name="Java App" dir=in action=allow protocol=TCP localport=8080
  2. 绑定 IP(可选)

    • 默认绑定 0.0.0.0,确保外部可访问。

五、配置反向X_X(可选)

使用 IIS 或 Nginx 做反向X_X,实现:

  • 使用 80/443 端口
  • HTTPS 支持
  • 域名访问

示例:IIS + ARR(Application Request Routing)

  1. 安装 IIS 和 ARR 模块
  2. 添加网站,配置反向X_X到 http://localhost:8080

六、监控与维护

  • 日志管理:定期清理 logs 目录
  • JVM 参数优化
    java -Xms512m -Xmx2g -jar myapp.jar
  • 健康检查:通过 /actuator/health(Spring Boot)监控状态
  • 备份策略:定期备份 JAR、配置文件和数据库

七、常见问题排查

问题 解决方法
端口被占用 netstat -ano | findstr :8080 找出并终止进程
Java 版本不匹配 检查 java -version 与项目要求
权限不足 以管理员身份运行或检查文件权限
服务无法启动 检查日志、JVM 路径、参数是否正确

总结

部署方式 适用场景 推荐度
直接运行 JAR 测试、简单项目 ⭐⭐⭐
NSSM 注册服务 生产环境、需开机自启 ⭐⭐⭐⭐⭐
Tomcat 部署 WAR 传统 Java Web 项目 ⭐⭐⭐⭐
Docker 高级部署、多环境一致 ⭐⭐⭐⭐

如果你提供具体的项目类型(如 Spring Boot、普通 Web、是否用数据库等),我可以给出更详细的部署脚本或配置示例。

未经允许不得转载:轻量云Cloud » windows server部署java项目?