在腾讯云轻量应用服务器(Lighthouse)上部署 Spring Boot 项目,通常采用 Linux 命令行 + JDK + Maven/Gradle + Nginx 的经典方案。以下是基于 Ubuntu 系统的完整部署步骤:
📌 前置准备
- 购买并登录服务器:确保已安装 Ubuntu 系统(推荐 20.04 或 22.04 LTS)。
- 开放端口:在腾讯云控制台「安全组」中放行以下端口:
80(Nginx HTTP)443(HTTPS,可选)8080(Spring Boot 服务端口,若不使用 Nginx 反向X_X则需直接暴露)22(SSH,默认已开)
🔧 步骤一:安装基础环境
# 更新系统
sudo apt update && sudo apt upgrade -y
# 安装 Java (以 JDK 17 为例,根据项目需求调整)
sudo apt install openjdk-17-jdk -y
java -version # 验证安装
# 安装 Maven(若项目使用 Maven 构建)
sudo apt install maven -y
mvn -v
# 安装 Nginx(用于反向X_X和静态资源托管)
sudo apt install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx
💡 若项目使用 Gradle,可跳过 Maven 安装,改用 SDKMAN 或直接下载 Gradle。
🚀 步骤二:上传并编译项目
方式 A:通过 Git 拉取源码(推荐)
cd /opt
git clone https://github.com/your-org/your-spring-boot-app.git
cd your-spring-boot-app
mvn clean package -DskipTests # 跳过测试提速构建
方式 B:上传本地打包的 JAR
# 本地先执行 mvn clean package,生成 target/xxx.jar
scp target/your-app.jar root@<你的公网IP>:/opt/app.jar
⚙️ 步骤三:配置 Spring Boot 启动脚本
创建 systemd 服务文件(推荐方式,便于开机自启和管理):
sudo nano /etc/systemd/system/springboot.service
填入以下内容(替换 app.jar 路径和参数):
[Unit]
Description=Spring Boot Application
After=syslog.target network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt
ExecStart=/usr/bin/java -jar /opt/app.jar --spring.profiles.active=prod
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
✅ 建议将配置文件(如
application-prod.yml)放在/opt/config/目录,并通过-Dspring.config.location=指定路径。
启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable springboot
sudo systemctl start springboot
sudo systemctl status springboot # 查看状态
🌐 步骤四:配置 Nginx 反向X_X(生产环境必备)
编辑 Nginx 站点配置:
sudo nano /etc/nginx/sites-available/default
修改为:
server {
listen 80;
server_name your-domain.com; # 替换为你的域名或 IP
location / {
proxy_pass http://localhost: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;
}
# 可选:静态资源缓存
location ~* .(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
add_header Cache-Control "public, immutable";
}
}
测试并重载 Nginx:
sudo nginx -t
sudo systemctl reload nginx
🔒 步骤五:(可选)配置 HTTPS(Let’s Encrypt)
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your-domain.com
按提示完成验证,自动配置 SSL 并设置自动续期。
🛠️ 常用运维命令
| 操作 | 命令 |
|---|---|
| 查看日志 | journalctl -u springboot -f |
| 重启服务 | sudo systemctl restart springboot |
| 停止服务 | sudo systemctl stop springboot |
| 查看端口占用 | sudo netstat -tlnp | grep 8080 |
| 检查 Nginx 日志 | tail -f /var/log/nginx/error.log |
✅ 验证部署
访问 http://your-server-ip 或 https://your-domain.com,应看到 Spring Boot 返回的欢迎页面或 API 响应。
需要我提供:
- Docker 化部署方案?
- 多实例负载均衡配置?
- 自动化 CI/CD 流程(GitHub Actions + 腾讯云 TKE/Lighthouse)?
欢迎告诉我你的具体需求,我可以进一步细化!
CLOUD云枢