速卖通素材
努力

window服务器server部署java项目?

服务器

在 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 服务(推荐长期运行)
  1. 下载 NSSM(Non-Sucking Service Manager):

    • https://nssm.cc/download
  2. 安装服务:

    nssm install MySpringBootApp

    在弹出窗口中设置:

    • Path: C:Program FilesJavajdk-17binjava.exe
    • Arguments: -jar D:javaappsmyapp.jar
    • Directory: D:javaapps
  3. 启动服务:

    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 等)。

开放端口步骤:

  1. 打开“高级安全 Windows 防火墙”
  2. “入站规则” → “新建规则”
  3. 类型选择“端口” → TCP → 特定本地端口(如 8080)
  4. 允许连接 → 完成

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

使用 IIS 或 Nginx 做反向X_X

示例:使用 IIS + ARR 模块X_X到本地 8080

  1. 安装 IIS 和 ARR(Application Request Routing)
  2. 添加网站,绑定域名
  3. 设置 URL 重写规则,X_X到 http://localhost:8080

这样可以通过 http://www.yourdomain.com 访问 Java 应用。


✅ 五、日志监控

  • Spring Boot:日志默认输出到控制台,可重定向到文件
    java -jar myapp.jar > app.log 2>&1
  • Tomcat:日志在 logs/catalina.outlogs/localhost.log

建议使用日志轮转工具或 ELK 收集日志。


✅ 六、常见问题排查

问题 解决方案
端口被占用 netstat -ano | findstr :8080 查看并 kill 进程
找不到 Java 检查 JAVA_HOMEPATH
权限不足 以管理员身份运行 CMD
应用无法访问 检查防火墙、安全组(云服务器)
内存不足 添加 JVM 参数:-Xms512m -Xmx2g

✅ 总结

项目类型 推荐部署方式
Spring Boot JAR 使用 NSSM 安装为 Windows 服务
WAR 包 部署到 Tomcat,并安装为服务
高并发生产环境 建议使用 Nginx/IIS 反向X_X + JVM 调优

如果你提供具体的项目类型(如 Spring Boot、普通 WAR、是否使用数据库等),我可以给出更精确的部署脚本和配置建议。

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