如何在腾讯云轻量服务器上部署Spring Boot项目?

在腾讯云轻量应用服务器(Lighthouse)上部署 Spring Boot 项目,通常分为 环境准备 → 项目构建 → 上传部署 → 启动运行 四个核心步骤。以下是详细操作指南:


✅ 一、前置准备

1. 创建轻量应用服务器

  • 登录 腾讯云控制台
  • 进入「轻量应用服务器」→「创建实例」
    • 选择镜像:Ubuntu 20.04/22.04 LTSCentOS 7/8(推荐 Ubuntu)
    • 配置:CPU/内存根据项目需求选择(如 2C4G)
    • 网络:默认公网 IP,确保防火墙开放必要端口(如 8080

2. 本地构建 Spring Boot 项目

# 使用 Maven 打包为可执行 JAR
mvn clean package -DskipTests

生成文件:target/your-app.jar(确认无报错)

💡 提示:若需自定义端口,可在 application.yml 中设置:

server:
  port: 8080

✅ 二、上传到服务器

方法 1:通过 SCP/SFTP 上传(推荐)

# 本地终端执行(替换为你的实际路径和 IP)
scp target/your-app.jar root@<你的服务器IP>:/opt/spring-boot-app/

方法 2:通过轻量应用服务器的「文件管理」功能

  • 登录控制台 → 进入实例 → 点击「文件管理」
  • 新建目录 /opt/spring-boot-app/
  • 拖拽上传 your-app.jar

✅ 三、安装 Java 环境(以 Ubuntu 为例)

# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装 OpenJDK 17(Spring Boot 3.x 推荐)
sudo apt install openjdk-17-jdk -y

# 验证安装
java -version
# 输出应包含 "openjdk version "17.x.x""

📌 CentOS 用户用 yum install java-17-openjdk-devel


✅ 四、启动 Spring Boot 应用

# 进入项目目录
cd /opt/spring-boot-app

# 后台运行(推荐方式 1:nohup + &)
nohup java -jar your-app.jar > app.log 2>&1 &

# 或更稳健的方式(方式 2:使用 systemd 服务)
# 1. 创建服务文件
sudo nano /etc/systemd/system/myapp.service

填入以下内容(修改 ExecStart 路径):

[Unit]
Description=My Spring Boot App
After=syslog.target network.target

[Service]
Type=simple
User=root
WorkingDirectory=/opt/spring-boot-app
ExecStart=/usr/bin/java -jar your-app.jar
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

保存后启用并启动服务:

sudo systemctl daemon-reload
sudo systemctl enable myapp
sudo systemctl start myapp

# 查看状态
sudo systemctl status myapp

# 日志实时查看
journalctl -u myapp -f

✅ 五、配置防火墙与安全组

1. 轻量应用服务器自带防火墙(UFW)

# 允许 8080 端口(根据你的 application.yml 端口调整)
sudo ufw allow 8080/tcp
sudo ufw enable

2. 腾讯云控制台安全组规则

  • 进入实例详情 →「安全组」→「入方向规则」
  • 添加入站规则:
    • 协议:TCP
    • 端口:8080
    • 来源:0.0.0.0/0(生产环境建议限制为特定 IP)

✅ 六、访问验证

浏览器访问:

http://<你的公网IP>:8080

若返回 JSON 或页面,说明部署成功!


🔒 进阶建议(生产环境)

项目 建议
反向X_X 使用 Nginx 做反向X_X,隐藏后端端口,支持 HTTPS
环境变量 将数据库密码等敏感信息放入 .env 或使用 -Dspring.config.location
日志轮转 配置 logback-spring.xml 实现按天分割日志
自动重启 使用 systemd 的 Restart=on-failure 已覆盖基础需求
监控告警 接入腾讯云云监控(CloudMonitor)+ Prometheus + Grafana

需要我提供:

  • Nginx 反向X_X配置示例?
  • Docker 化部署方案?
  • CI/CD 自动化部署流程(GitHub Actions + SSH)?

欢迎告诉我你的具体场景,我可进一步定制方案 😊