奋斗
努力

腾讯云轻量级服务器Ubuntu部署springboot项目?

云计算

在腾讯云轻量应用服务器(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.ymlapplication.properties 中的数据库地址。

  • 注意:如果你的数据库也在同一台服务器上,地址填 localhost127.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 服务。

  1. 创建服务文件:
    sudo nano /etc/systemd/system/my-springboot.service
  2. 粘贴以下内容(请根据实际情况修改 UserWorkingDirectoryExecStart):

    [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
  3. 保存退出 (Ctrl+O, Enter, Ctrl+X)。
  4. 重载配置并启动:
    sudo systemctl daemon-reload
    sudo systemctl start my-springboot
    sudo systemctl enable my-springboot # 设置开机自启
  5. 查看状态:sudo systemctl status my-springboot

5. 配置安全组(关键步骤)

这是新手最容易忽略的一步。如果无法通过浏览器访问,99% 是因为防火墙拦截了。

  1. 登录 腾讯云控制台
  2. 进入 轻量应用服务器 列表,点击你的实例。
  3. 点击右侧的 安全组 标签页(或点击“更多”->“安全组”)。
  4. 检查 入方向规则
    • 如果没有自定义规则,需要添加一条规则。
    • 协议类型:TCP
    • 端口范围:填写你项目运行的端口(例如 8080,或者 80/443 如果你想做 Web 网关)。
    • 授权对象0.0.0.0/0 (允许所有 IP 访问,测试时可用,生产环境建议限制特定 IP)。
  5. 保存规则。

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 来管理进程,防止进程意外挂掉不重启。
未经允许不得转载:云服务器 » 腾讯云轻量级服务器Ubuntu部署springboot项目?