SpringBoot项目部署到window或Linux服务器

记录一下自己部署SpringBoot项目window服务器的过程
部署到Linux的让我写在了文章末尾补充上了。
我这里采用springboot内置tomcat进行部署(确实很简单)

第一步,对工程进行一个基本的设置 如端口号,数据库地址等


    server:
	 port: 80
	  tomcat:
	    uri-encoding: UTF-8

第二步,将工程打包成jar包

2020/3/22 补充:在第二步进行前点击test,并点击上方的蓝色小闪电则可以取消测试。
原因:项目打包时会进行数据库的连接性检测,当我们从测试数据库切换到部署数据库时可能会报错,造成打包失败
在这里插入图片描述

打包完成后可以在控制台查看到打包的信息

在这里插入图片描述

第三步:找到jar包放到Windows服务器上,启动项目
在CMD中,进入jar包所在目录 输入下面的指令

在这里插入图片描述

第四步:查看项目是否正常启动
如果项目最后出现JVM running就说明Java虚拟机已经跑起来了,项目部署成功
如果没有则需要查看报错信息,常见的问题有Java环境的配置和端口号冲突,如果端口号冲突则需要返回第一步重新开始

在这里插入图片描述

2020/3/22 补充:部署到Linux(Ubuntu)。

将打包好的jar包上传的服务器

scp java.jar root@11.11.11.11:/home/

后台运行jar包(需要到你的jar文件目录下)

sudo nohup java -jar test.jar &

查看是否成功运行

同样如果看到JVM running字样即表示运行成功

<think> 嗯,用户这次的问题聚焦在腾讯云Windows系统部署Spring Boot应用的具体操作流程上。回顾之前的引用资料,虽然提供了Linux环境下的部署方案,但Windows系统的差异性需要重新整合。用户明显是开发者身份,且对部署细节要求精准——这很可能关系到线上项目的稳定性。 注意到引用[2]提到了JDK/MySQL安装和防火墙配置等基础步骤,这在Windows环境下同样适用,但具体命令和路径需要转换。比如Linux的yum安装要换成Windows的exe安装包操作。引用[4]的Nginx反向代理配置思路也可迁移,不过得用Windows版的Nginx。 用户没有提及具体开发环境细节(比如用Maven还是Gradle),但根据Spring Boot的通用性,我决定采用最普遍的Maven打包示例。防火墙设置部分需要特别强调,因为腾讯云控制台和系统防火墙是双重防护,很多部署失败都卡在这里。 对于持久化运行,Windows没有nohup命令,必须给出替代方案。计划任务虽然能用,但spring-boot-maven-plugin生成的bat脚本更专业,还带监控功能——这个实用技巧应该能超出用户预期。 最后补充的踩坑点都是血泪经验:UAC权限问题坑过很多开发者,而端口占用提醒是因为见过太多“端口被占还硬启动”的悲剧。要不要提IIS冲突呢?虽然概率低,但万一用户装了IIS…还是加上吧。 </think> 在腾讯云服务器 **Windows 系统**上部署 Spring Boot 应用的详细步骤如下: --- ### **1. 环境准备** * **安装 JDK**: ✅ 下载与项目匹配的 JDK(如 JDK 17)Windows 安装包(`.exe` `.msi`)[^2]。 ✅ 运行安装程序,配置 `JAVA_HOME` 环境变量(指向 JDK 安装目录,如 `C:\Program Files\Java\jdk-17`),并将 `%JAVA_HOME%\bin` 加入 `Path`。 * **安装数据库**(如 MySQL): ✅ 下载 MySQL Windows 安装包,按向导完成安装,设置 root 密码,启动 MySQL 服务[^2]。 * **配置防火墙**: ✅ 在 **腾讯云控制台安全组** 中开放 Spring Boot 应用端口(如 `8080`)。 ✅ 在 **Windows 防火墙** 中添加入站规则,允许该端口(TCP)[^2]。 --- ### **2. 打包 Spring Boot 项目** * 在项目根目录执行 Maven 命令(需提前安装 Maven): ```bash mvn clean package -DskipTests ``` * 在 `target` 目录下生成可执行 Jar 包(如 `myapp.jar`)。 --- ### **3. 上传项目服务器** * 使用 **WinSCP** **Xftp** 将 Jar 包上传至云服务器目录(如 `D:\apps\`)[^2]。 --- ### **4. 启动 Spring Boot 应用** ✅ **方法一:命令行启动(临时测试)** 打开 `cmd`,进入 Jar 包目录执行: ```bash java -jar myapp.jar ``` > ⚠️ 关闭窗口会导致进程终止,仅用于测试。 ✅ **方法二:持久化运行(推荐)** 创建批处理脚本 `start.bat`: ```batch @echo off set JAVA_OPTS=-Xms512m -Xmx1024m # 自定义 JVM 参数 java %JAVA_OPTS% -jar myapp.jar > app.log 2>&1 exit ``` 运行脚本即可后台持续运行,日志输出到 `app.log`。 --- ### **5. 配置反向代理(可选)** 若需通过域名访问解决端口问题,使用 **Nginx for Windows**: 1. 下载并解压 Nginx,编辑 `conf\nginx.conf`: ```nginx server { listen 80; server_name your-domain.com; # 替换为域名公网IP location / { proxy_pass http://localhost:8080; # 转发到Spring Boot端口 proxy_set_header Host $host; } } ``` 2. 启动 Nginx:`nginx.exe`(需关闭占用 80 端口的进程如 IIS)[^4]。 --- ### **6. 访问应用** 浏览器输入: - 直接访问:`http://服务器公网IP:端口`(如 `http://123.123.123.123:8080`) - 使用 Nginx:`http://your-domain.com` --- ### **常见问题排查** 1. **端口冲突**: ```bash netstat -ano | findstr :8080 # 检查端口占用 taskkill /PID <进程ID> /F # 强制结束进程 ``` 2. **权限不足**: 以管理员身份运行 `cmd` 再执行启动命令。 3. **依赖缺失**: 确认 MySQL/Redis 等服务已启动,且应用配置中的连接信息正确。 > **关键提示**: > - 腾讯云安全组与 Windows 防火墙需 **同时放行端口** [^2]。 > - 生产环境建议使用 **spring-boot-maven-plugin** 生成带启动脚本的 `.bat` 文件,支持服务化安装(`myapp.bat install`)[^1]。 --- ### 相关问题 1. Spring Boot 如何配置 HTTPS 证书并部署Windows 服务器? 2. 在 Windows 服务器上如何将 Spring Boot 注册为系统服务? 3. 腾讯云 Windows 服务器如何配置 Redis 缓存并供 Spring Boot 使用? 4. 部署后出现 `NoSuchBeanDefinitionException` 错误应如何解决? [^1]: SpringBoot项目部署到阿里云服务器详细步骤 [^2]: 腾讯云服务器部署Spring Boot保姆级教程 [^4]: 宝塔部署Spring Boot+Vue3反向代理配置
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空门.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值