在腾讯云轻量应用服务器(Lighthouse)上部署 Spring Boot 项目,通常采用 “环境准备 -> 上传代码 -> 构建运行” 的流程。以下是基于 Ubuntu 系统的完整实操指南:
一、前置准备
- 登录控制台:进入腾讯云轻量应用服务器控制台,确认你的实例已运行且防火墙规则允许
8080(或你自定义的端口)。 - 远程连接:使用 SSH 工具(如 PuTTY、Terminal、Xshell)连接到服务器:
ssh root@<你的公网IP>默认密码请在控制台“重置密码”中获取;若使用密钥登录,请配置
-i参数。
二、安装基础运行环境
1. 更新系统并安装 Java
Spring Boot 依赖 JDK 8/11/17(根据项目版本选择),以 JDK 17 为例:
sudo apt update && sudo apt upgrade -y
sudo apt install openjdk-17-jdk -y
java -version # 验证安装成功
2. (可选)安装 Maven(若本地未打包)
如果项目源码需直接在服务器编译:
sudo apt install maven -y
mvn -v
✅ 推荐做法:本地用 IDE 打包成
.jar文件后上传,避免服务器依赖复杂。
3. 安装 Nginx(反向X_X + 静态资源托管,非必须但推荐)
用于隐藏后端端口、支持 HTTPS 和负载均衡:
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
三、部署 Spring Boot 项目
方案 A:直接运行 JAR 包(简单快速)
-
上传 JAR 包
使用scp或 SFTP 工具(如 WinSCP、FileZilla)将本地打包好的your-app.jar传到服务器:scp your-app.jar root@<你的公网IP>:/home/ubuntu/ -
创建运行目录与启动脚本
mkdir -p /opt/springboot/myapp cd /opt/springboot/myapp mv ~/your-app.jar . cat > start.sh << 'EOF' #!/bin/bash nohup java -jar myapp.jar --server.port=8080 > app.log 2>&1 & echo $! > app.pid EOF chmod +x start.sh ./start.sh -
验证运行
tail -f app.log # 查看日志 curl http://localhost:8080/actuator/health # 健康检查(需启用 actuator) netstat -tlnp | grep 8080
方案 B:使用 Systemd 管理进程(生产推荐)
创建服务文件 /etc/systemd/system/myapp.service:
[Unit]
Description=My Spring Boot App
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/springboot/myapp
ExecStart=/usr/bin/java -jar myapp.jar --server.port=8080
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
启用并启动:
sudo systemctl daemon-reload
sudo systemctl enable myapp
sudo systemctl start myapp
sudo systemctl status myapp
四、配置 Nginx 反向X_X(提升安全性与体验)
编辑 Nginx 配置 /etc/nginx/sites-available/default:
server {
listen 80;
server_name <你的域名或IP>;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
测试并重载:
sudo nginx -t
sudo systemctl reload nginx
🔒 建议后续申请 SSL 证书(Let's Encrypt),实现 HTTPS。
五、安全加固建议
| 措施 | 操作 |
|---|---|
| 开放端口 | 仅在轻量防火墙中放行 80/443,不要开放 8080 到公网 |
| 禁用 root 登录 | 创建普通用户 + SSH 密钥认证,关闭 PermitRootLogin yes |
| 定期备份 | 使用 tar 备份 JAR 包 + 数据库配置文件 |
| 监控告警 | 开启腾讯云云监控,设置 CPU/内存/磁盘阈值告警 |
六、常见问题排查
- ❌
Connection refused→ 检查 Java 是否启动、端口是否被占用ps aux | grep java netstat -tlnp | grep 8080 - ❌ 中文乱码 → 确保 JVM 参数添加
-Dfile.encoding=UTF-8 - ❌ 内存不足 → 调整
-Xmx参数(如-Xms512m -Xmx1024m)
需要我提供:
- 📦 本地打包 Spring Boot 为 JAR 的详细步骤?
- 🔐 如何配置 Let's Encrypt 免费 SSL 证书?
- 🗄️ 如何在服务器上部署 MySQL/Redis 配套环境?
欢迎告诉我你的具体需求,我可以进一步定制方案!
CLOUD云计算