java项目部署到windows server服务器上?

将Java项目部署到 Windows Server 服务器上,通常涉及以下几个步骤。以下是一个通用的流程,适用于Spring Boot、普通Java Web项目或其他基于Java的应用。


✅ 一、准备工作

  1. 确认服务器环境

    • 操作系统:Windows Server(如 2012 R2 / 2016 / 2019 / 2022)
    • 网络:确保服务器可以被外部访问(配置防火墙、安全组等)
    • 权限:使用管理员权限操作
  2. 安装必要软件

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

  • 下载对应版本的 JDK(推荐使用 OpenJDKOracle JDK
    • 推荐:Adoptium (Eclipse Temurin)
  • 安装后配置环境变量:
# 设置 JAVA_HOME
JAVA_HOME = C:Program FilesJavajdk-17

# 添加到 Path
%JAVA_HOME%bin

验证是否安装成功:

java -version
javac -version   # 如果安装了JDK

2. 打包 Java 项目为可执行文件

  • 使用 Maven 或 Gradle 构建项目,生成 JARWAR 文件。
示例(Maven):
mvn clean package

输出文件一般在 target/your-project-1.0.0.jar

建议使用 Spring Boot 内嵌 Tomcat,打包成 fat jar(包含所有依赖和启动类)


✅ 二、上传项目到服务器

有多种方式上传 .jar 文件到 Windows Server:

  • 使用 远程桌面(RDP) 登录后直接复制粘贴
  • 使用 FTP/SFTP 工具(如 FileZilla、WinSCP)
  • 使用 共享文件夹(网络映射驱动器)
  • 使用 命令行工具(如 PowerShell 的 Invoke-WebRequest 下载)

建议路径:
D:appmyappmyapp.jar


✅ 三、运行 Java 应用

方法一:直接运行 JAR(测试用)

cd D:appmyapp
java -jar myapp.jar

缺点:关闭命令窗口即停止服务。


方法二:以后台服务方式运行(生产推荐)

要让 Java 程序像 Windows 服务一样开机自启、后台运行,可以使用以下工具:


🔧 推荐方案:使用 NSSM(Non-Sucking Service Manager)

NSSM 是一个轻量级工具,可将任意程序注册为 Windows 服务。

步骤:

  1. 下载 NSSM

    • 官网:https://nssm.cc/download
    • 下载 nssm-2.24.zip,解压后选择对应系统架构(win64)
  2. 安装服务

    打开命令提示符(管理员权限),执行:

    D:nssmwin64nssm.exe install MyJavaApp

    弹出配置窗口:

    • Path: C:Program FilesJavajdk-17binjava.exe
    • Arguments: -jar "D:appmyappmyapp.jar"
    • Startup directory: D:appmyapp

    点击 “Install service”

  3. 启动服务

    D:nssmwin64nssm.exe start MyJavaApp

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

    • Win + R → services.msc → 找到 MyJavaApp → 启动
  4. 设置开机自启

    • 默认安装后就是自动启动类型,可在服务属性中确认。
  5. 查看日志

    • 在 NSSM 配置中设置输出日志路径:
      • I/O → Output → D:appmyapplogsoutput.log

✅ 四、配置端口与防火墙

  1. 确认应用监听端口

    • 如 Spring Boot 默认是 8080
    • 可在 application.properties 中修改:
      server.port=8080
  2. 开放 Windows 防火墙端口

    • 控制面板 → Windows Defender 防火墙 → 高级设置
    • 新建入站规则 → 端口(TCP)→ 输入 8080 → 允许连接

    或使用命令行(管理员):

    netsh advfirewall firewall add rule name="Java App Port" dir=in action=allow protocol=TCP localport=8080

✅ 五、域名与反向X_X(可选)

如果需要通过域名访问或 HTTPS,建议使用 IIS + ARR(Application Request Routing)Nginx for Windows 做反向X_X。

示例:使用 Nginx

  1. 下载 Nginx for Windows:http://nginx.org/en/download.html
  2. 修改 conf/nginx.conf
server {
    listen 80;
    server_name yourdomain.com;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
  1. 启动 Nginx:
    start nginx

✅ 六、监控与维护

  • 查看日志文件
  • 使用任务管理器或 jps 命令检查 Java 进程
  • 定期备份配置和数据
  • 使用脚本实现自动重启(可结合 NSSM 自动重启功能)

✅ 七、常见问题排查

问题 解决方法
java is not recognized 检查 JAVA_HOME 和 Path 环境变量
端口被占用 netstat -ano | findstr :8080,杀掉进程
无法网络访问 检查防火墙、云服务器安全组
服务启动失败 查看 NSSM 日志或控制台输出

✅ 总结:完整流程图

开发机打包 → 上传 .jar 到服务器 → 安装 JDK → 使用 NSSM 注册为服务 → 开放防火墙 → 启动服务 → 外部访问
                                                                 ↓
                                                       (可选)Nginx/IIS 反向X_X

如果你提供具体项目类型(如 Spring Boot、普通 Servlet、WAR 包等),我可以给出更精确的部署脚本或配置建议。欢迎补充!

未经允许不得转载:ECLOUD博客 » java项目部署到windows server服务器上?