在腾讯云轻量应用服务器(Lighthouse)上部署 Spring Boot 项目,通常采用 JDK + Maven/Gradle + Nginx 的经典架构。以下是基于 Ubuntu 20.04/22.04 的完整部署流程,涵盖从环境搭建到安全配置的关键步骤。
一、前置准备
- 购买并登录服务器:确保已开通 SSH 访问权限,且防火墙(腾讯云控制台的安全组)开放了
80(HTTP)、443(HTTPS)及你的应用端口(如8080)。 - 本地打包项目:将 Spring Boot 项目打包为
.jar文件(推荐执行mvn clean package -DskipTests),上传至服务器(可用scp或 FTP 工具)。
二、安装运行环境
1. 安装 JDK(以 OpenJDK 17 为例)
# 更新软件源
sudo apt update
# 安装 OpenJDK 17
sudo apt install openjdk-17-jdk -y
# 验证版本
java -version
2. 安装 Maven(可选,若本地已打包可跳过)
sudo apt install maven -y
mvn -v
3. 安装 Nginx(用于反向X_X和静态资源托管)
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
三、部署 Spring Boot 应用
1. 创建专用目录与用户(提升安全性)
sudo mkdir -p /opt/spring-app
sudo useradd -m spring-user
sudo chown -R spring-user:spring-user /opt/spring-app
2. 上传并解压 JAR 包
# 假设本地 jar 名为 app.jar
scp app.jar spring-user@<服务器IP>:/opt/spring-app/
# 进入目录
cd /opt/spring-app
sudo chown spring-user:spring-user app.jar
3. 创建 systemd 服务管理脚本
sudo nano /etc/systemd/system/springboot.service
填入以下内容(替换 <APP_JAR_PATH> 和端口):
[Unit]
Description=Spring Boot Application
After=syslog.target network.target
[Service]
User=spring-user
Group=spring-user
WorkingDirectory=/opt/spring-app
ExecStart=/usr/bin/java -jar /opt/spring-app/app.jar --server.port=8080
Restart=on-failure
RestartSec=10
Environment="JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64"
[Install]
WantedBy=multi-user.target
保存后启动服务:
sudo systemctl daemon-reload
sudo systemctl start springboot
sudo systemctl enable 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;
}
}
测试并重载 Nginx:
sudo nginx -t
sudo systemctl reload nginx
五、安全加固建议
- 关闭 SSH 密码登录:改用密钥认证(参考腾讯云文档生成密钥对)。
- 配置防火墙:仅开放必要端口(80/443/SSH)。
sudo ufw allow 'Nginx Full' sudo ufw allow 22/tcp sudo ufw enable - 启用 HTTPS:使用 Let’s Encrypt 免费证书:
sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d your-domain.com
六、常见问题排查
- 应用无法启动:检查日志
journalctl -u springboot -f - Nginx 404/502:确认 Spring Boot 端口监听正确,且
proxy_pass地址无误。 - 内存不足:调整 JVM 参数(如
-Xmx512m)或升级服务器配置。
通过以上步骤,即可实现生产级 Spring Boot 项目在腾讯云轻量服务器的稳定部署。如需自动化部署,可结合 Jenkins/GitLab CI 实现持续集成。
轻量云Cloud