走啊走
加油

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

服务器价格表

在腾讯云轻量应用服务器(Lighthouse)上部署 Spring Boot 项目,通常采用 “环境准备 -> 上传代码 -> 构建运行” 的流程。以下是基于 Ubuntu 系统的完整实操指南:


一、前置准备

  1. 登录控制台:进入腾讯云轻量应用服务器控制台,确认你的实例已运行且防火墙规则允许 8080(或你自定义的端口)。
  2. 远程连接:使用 SSH 工具(如 PuTTY、Terminal、Xshell)连接到服务器:
    ssh root@<你的公网IP>

    默认密码请在控制台“重置密码”中获取;若使用密钥登录,请配置 -i 参数。


二、安装基础运行环境

1. 更新系统并安装 Java

Spring Boot 依赖 JDK 8/11/17(根据项目版本选择),以 JDK 17 为例:

sudo apt update && sudo apt upgrade -y
sudo apt install openjdk-17-jdk -y
java -version  # 验证安装成功

2. (可选)安装 Maven(若本地未打包)

如果项目源码需直接在服务器编译:

sudo apt install maven -y
mvn -v

✅ 推荐做法:本地用 IDE 打包成 .jar 文件后上传,避免服务器依赖复杂。

3. 安装 Nginx(反向X_X + 静态资源托管,非必须但推荐)

用于隐藏后端端口、支持 HTTPS 和负载均衡:

sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx

三、部署 Spring Boot 项目

方案 A:直接运行 JAR 包(简单快速)

  1. 上传 JAR 包
    使用 scp 或 SFTP 工具(如 WinSCP、FileZilla)将本地打包好的 your-app.jar 传到服务器:

    scp your-app.jar root@<你的公网IP>:/home/ubuntu/
  2. 创建运行目录与启动脚本

    mkdir -p /opt/springboot/myapp
    cd /opt/springboot/myapp
    mv ~/your-app.jar .
    
    cat > start.sh << 'EOF'
    #!/bin/bash
    nohup java -jar myapp.jar --server.port=8080 > app.log 2>&1 &
    echo $! > app.pid
    EOF
    chmod +x start.sh
    ./start.sh
  3. 验证运行

    tail -f app.log          # 查看日志
    curl http://localhost:8080/actuator/health  # 健康检查(需启用 actuator)
    netstat -tlnp | grep 8080

方案 B:使用 Systemd 管理进程(生产推荐)

创建服务文件 /etc/systemd/system/myapp.service

[Unit]
Description=My Spring Boot App
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/opt/springboot/myapp
ExecStart=/usr/bin/java -jar myapp.jar --server.port=8080
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

启用并启动:

sudo systemctl daemon-reload
sudo systemctl enable myapp
sudo systemctl start myapp
sudo systemctl status myapp

四、配置 Nginx 反向X_X(提升安全性与体验)

编辑 Nginx 配置 /etc/nginx/sites-available/default

server {
    listen 80;
    server_name <你的域名或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;
    }
}

测试并重载:

sudo nginx -t
sudo systemctl reload nginx

🔒 建议后续申请 SSL 证书(Let's Encrypt),实现 HTTPS。


五、安全加固建议

措施 操作
开放端口 仅在轻量防火墙中放行 80/443不要开放 8080 到公网
禁用 root 登录 创建普通用户 + SSH 密钥认证,关闭 PermitRootLogin yes
定期备份 使用 tar 备份 JAR 包 + 数据库配置文件
监控告警 开启腾讯云云监控,设置 CPU/内存/磁盘阈值告警

六、常见问题排查

  • Connection refused → 检查 Java 是否启动、端口是否被占用
    ps aux | grep java
    netstat -tlnp | grep 8080
  • ❌ 中文乱码 → 确保 JVM 参数添加 -Dfile.encoding=UTF-8
  • ❌ 内存不足 → 调整 -Xmx 参数(如 -Xms512m -Xmx1024m

需要我提供:

  • 📦 本地打包 Spring Boot 为 JAR 的详细步骤?
  • 🔐 如何配置 Let's Encrypt 免费 SSL 证书?
  • 🗄️ 如何在服务器上部署 MySQL/Redis 配套环境?

欢迎告诉我你的具体需求,我可以进一步定制方案!