在腾讯云轻量应用服务器(Lighthouse)上部署 Spring Boot 项目,通常分为 准备环境、上传代码、构建运行 和 配置安全组 四个核心步骤。以下是基于 Ubuntu 系统的详细操作指南:
1. 前置准备:安装基础环境
登录到服务器的终端(使用 SSH 客户端或腾讯云控制台自带的 VNC),执行以下命令安装 Java 和 Maven。
安装 OpenJDK (以 JDK 17 为例)
Spring Boot 3.x 推荐 JDK 17+,2.x 推荐使用 JDK 8 或 11。
# 更新软件源
sudo apt update
# 安装 OpenJDK 17
sudo apt install openjdk-17-jdk -y
# 验证安装
java -version
# 输出应包含 version "17.x.x"
安装 Maven (可选,用于本地构建后上传 jar)
如果你习惯在本地打包好 jar 包再上传,可以跳过此步;如果需要在服务器直接构建,则需要安装。
sudo apt install maven -y
mvn -v
2. 上传项目代码
将本地的 Spring Boot 项目(已打包为 .jar 文件)上传到服务器。推荐使用 scp 命令或 SFTP 工具(如 FileZilla)。
方法 A:使用 SCP 命令(推荐)
在本地电脑终端执行(将路径替换为你的实际路径):
# 语法:scp /本地/路径/项目.jar 用户名@服务器IP:/home/ubuntu/
scp my-project.jar ubuntu@<你的服务器公网IP>:/home/ubuntu/
方法 B:使用腾讯云控制台“文件管理”
登录腾讯云控制台 -> 轻量应用服务器 -> 点击实例名称进入详情页 -> 左侧菜单选择 “文件管理” -> 上传你的 .jar 文件。
3. 配置数据库连接与启动参数
在启动前,建议修改 application.yml 或 application.properties 中的数据库地址。
- 注意:如果你的数据库也在同一台服务器上,地址填
localhost或127.0.0.1。 - 如果是远程数据库(如 RDS),确保云数据库的安全组允许了你的服务器 IP 访问,且配置文件中填写的是内网 IP(如果在同一地域)或网络 IP。
4. 启动项目
进入文件目录并赋予执行权限(可选,但推荐):
cd /home/ubuntu
chmod +x my-project.jar
方式一:后台静默运行(推荐生产环境)
使用 nohup 让程序在后台运行,即使关闭终端也不会停止,并将日志输出到指定文件。
nohup java -jar my-project.jar --server.port=8080 > app.log 2>&1 &
--server.port=8080: 指定端口,默认是 8080。> app.log 2>&1: 将标准输出和错误输出都重定向到app.log文件中。
查看进程状态:
ps -ef | grep my-project.jar
查看实时日志:
tail -f app.log
(按 Ctrl + C 退出查看)
方式二:使用 Systemd 管理(更稳健,推荐)
如果需要开机自启和更完善的进程管理,可以创建 systemd 服务。
- 创建服务文件:
sudo nano /etc/systemd/system/my-springboot.service -
粘贴以下内容(请根据实际情况修改
User、WorkingDirectory和ExecStart):[Unit] Description=My Spring Boot Application After=syslog.target network.target [Service] User=ubuntu WorkingDirectory=/home/ubuntu ExecStart=/usr/bin/java -jar my-project.jar --server.port=8080 SuccessExitStatus=143 Restart=always RestartSec=10 [Install] WantedBy=multi-user.target - 保存退出 (
Ctrl+O,Enter,Ctrl+X)。 - 重载配置并启动:
sudo systemctl daemon-reload sudo systemctl start my-springboot sudo systemctl enable my-springboot # 设置开机自启 - 查看状态:
sudo systemctl status my-springboot
5. 配置安全组(关键步骤)
这是新手最容易忽略的一步。如果无法通过浏览器访问,99% 是因为防火墙拦截了。
- 登录 腾讯云控制台。
- 进入 轻量应用服务器 列表,点击你的实例。
- 点击右侧的 安全组 标签页(或点击“更多”->“安全组”)。
- 检查 入方向规则:
- 如果没有自定义规则,需要添加一条规则。
- 协议类型:TCP
- 端口范围:填写你项目运行的端口(例如
8080,或者80/443如果你想做 Web 网关)。 - 授权对象:
0.0.0.0/0(允许所有 IP 访问,测试时可用,生产环境建议限制特定 IP)。
- 保存规则。
6. 验证部署
打开本地浏览器,访问:
http://<你的服务器公网IP>:<端口>
例如:http://123.123.123.123:8080
如果看到 Spring Boot 的欢迎页面或 API 返回结果,说明部署成功。
进阶建议(可选)
- 反向X_X (Nginx):如果项目需要域名访问,建议在服务器上安装 Nginx,将 80 端口流量转发到 8080 端口,并配置 SSL 证书。
- Docker 部署:如果希望环境隔离更好,可以在服务器上安装 Docker,编写
Dockerfile进行容器化部署,这在后续迁移和维护上更加灵活。 - PM2/Nodemon 替代方案:对于 Java 项目,除了
nohup,也可以使用supervisor来管理进程,防止进程意外挂掉不重启。
云服务器