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

在腾讯云轻量应用服务器(Lighthouse)上部署 Spring Boot 项目,通常采用 JDK + Maven/Gradle + Nginx 的经典架构。以下是基于 Ubuntu 系统的完整部署流程:


一、环境准备

  1. 登录服务器

    ssh root@<你的公网IP>
  2. 更新系统并安装基础工具

    sudo apt update && sudo apt upgrade -y
    sudo apt install -y curl git vim unzip
  3. 安装 JDK(以 JDK 17 为例)

    # 添加 Adoptium 源(推荐)或直接使用 openjdk
    sudo apt install -y openjdk-17-jdk
    
    # 验证安装
    java -version
    javac -version
  4. 安装 Maven(可选,若本地已打包可跳过)

    sudo apt install -y maven
    mvn -v

二、上传项目

方式 A:使用 scp 从本地上传

# 在本地终端执行
scp /path/to/your-project.jar root@<你的公网IP>:/home/ubuntu/myapp.jar

方式 B:通过 Git 克隆(适合持续集成)

cd ~
git clone https://github.com/yourname/your-repo.git
cd your-repo
mvn clean package -DskipTests

三、配置与运行 Spring Boot 应用

  1. 创建运行目录

    mkdir -p /opt/springboot-app
    cd /opt/springboot-app
  2. 放置 JAR 包
    (如果已通过 scp 上传,移动到此处;否则将 target/*.jar 复制过来)

  3. 创建配置文件(可选)
    创建 application.ymlapplication.properties,例如:

    server:
     port: 8080
    spring:
     datasource:
       url: jdbc:mysql://localhost:3306/db_name
       username: root
       password: your_password
  4. 直接运行测试

    nohup java -jar myapp.jar --spring.profiles.active=prod > app.log 2>&1 &

    ✅ 建议先后台运行测试是否正常,再考虑使用 systemd 管理。

  5. 查看日志

    tail -f app.log

四、使用 systemd 管理服务(推荐生产环境)

  1. 创建服务文件

    sudo nano /etc/systemd/system/myapp.service
  2. 写入以下内容(根据实际情况修改路径和参数):

    [Unit]
    Description=Spring Boot Application
    After=syslog.target network.target
    
    [Service]
    User=root
    WorkingDirectory=/opt/springboot-app
    ExecStart=/usr/bin/java -jar myapp.jar --spring.profiles.active=prod
    Restart=always
    RestartSec=10
    StandardOutput=journal
    StandardError=journal
    
    [Install]
    WantedBy=multi-user.target
  3. 启用并启动服务

    sudo systemctl daemon-reload
    sudo systemctl enable myapp
    sudo systemctl start myapp
  4. 常用命令

    sudo systemctl status myapp      # 查看状态
    sudo systemctl stop myapp        # 停止
    sudo systemctl restart myapp     # 重启
    journalctl -u myapp -f           # 实时日志

五、配置 Nginx 反向X_X(可选但推荐)

  1. 安装 Nginx

    sudo apt install -y nginx
  2. 配置反向X_X

    sudo nano /etc/nginx/sites-available/myapp

    内容示例:

    server {
       listen 80;
       server_name your-domain.com;  # 替换为你的域名或 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;
       }
    }
  3. 启用配置

    sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
    sudo nginx -t
    sudo systemctl reload nginx
  4. 开放防火墙端口

    sudo ufw allow 'Nginx Full'
    sudo ufw allow 22/tcp  # SSH
    sudo ufw enable

六、安全建议

  • 使用非 root 用户运行应用(如创建 appuser
  • 配置 MySQL 远程访问时限制 IP
  • 启用 HTTPS(可通过 Let’s Encrypt + certbot)
  • 定期更新系统和依赖

七、验证部署

访问:http://<你的公网IP>http://your-domain.com
应看到 Spring Boot 应用的首页或 API 响应。


如需进一步自动化(如 CI/CD、Docker 部署),可继续扩展此流程。需要 Docker 版本部署方案也可以告诉我!

未经允许不得转载:云知道CLOUD » 腾讯云轻量级服务器Ubuntu部署springboot项目?