在腾讯云轻量应用服务器(Lighthouse)上部署 Spring Boot 项目,通常分为 环境准备 → 项目构建 → 上传部署 → 启动运行 四个核心步骤。以下是详细操作指南:
✅ 一、前置准备
1. 创建轻量应用服务器
- 登录 腾讯云控制台
- 进入「轻量应用服务器」→「创建实例」
- 选择镜像:Ubuntu 20.04/22.04 LTS 或 CentOS 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)?
欢迎告诉我你的具体场景,我可进一步定制方案 😊
云知识