速卖通素材
努力

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

服务器

在腾讯云轻量应用服务器(Lighthouse)上部署 Spring Boot 项目,通常采用 JDK + Maven/Gradle + Nginx 的经典架构。以下是基于 Ubuntu 20.04/22.04 的完整部署流程,涵盖从环境搭建到安全配置的关键步骤。


一、前置准备

  1. 购买并登录服务器:确保已开通 SSH 访问权限,且防火墙(腾讯云控制台的安全组)开放了 80(HTTP)、443(HTTPS)及你的应用端口(如 8080)。
  2. 本地打包项目:将 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

五、安全加固建议

  1. 关闭 SSH 密码登录:改用密钥认证(参考腾讯云文档生成密钥对)。
  2. 配置防火墙:仅开放必要端口(80/443/SSH)。
    sudo ufw allow 'Nginx Full'
    sudo ufw allow 22/tcp
    sudo ufw enable
  3. 启用 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 » 腾讯云轻量级服务器Ubuntu部署springboot项目?