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

在腾讯云轻量应用服务器(Lighthouse)上部署 Spring Boot 项目,通常采用 Linux 命令行 + JDK + Maven/Gradle + Nginx 的经典方案。以下是基于 Ubuntu 系统的完整部署步骤:


📌 前置准备

  1. 购买并登录服务器:确保已安装 Ubuntu 系统(推荐 20.04 或 22.04 LTS)。
  2. 开放端口:在腾讯云控制台「安全组」中放行以下端口:
    • 80(Nginx HTTP)
    • 443(HTTPS,可选)
    • 8080(Spring Boot 服务端口,若不使用 Nginx 反向X_X则需直接暴露)
    • 22(SSH,默认已开)

🔧 步骤一:安装基础环境

# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装 Java (以 JDK 17 为例,根据项目需求调整)
sudo apt install openjdk-17-jdk -y
java -version  # 验证安装

# 安装 Maven(若项目使用 Maven 构建)
sudo apt install maven -y
mvn -v

# 安装 Nginx(用于反向X_X和静态资源托管)
sudo apt install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx

💡 若项目使用 Gradle,可跳过 Maven 安装,改用 SDKMAN 或直接下载 Gradle。


🚀 步骤二:上传并编译项目

方式 A:通过 Git 拉取源码(推荐)

cd /opt
git clone https://github.com/your-org/your-spring-boot-app.git
cd your-spring-boot-app
mvn clean package -DskipTests  # 跳过测试提速构建

方式 B:上传本地打包的 JAR

# 本地先执行 mvn clean package,生成 target/xxx.jar
scp target/your-app.jar root@<你的公网IP>:/opt/app.jar

⚙️ 步骤三:配置 Spring Boot 启动脚本

创建 systemd 服务文件(推荐方式,便于开机自启和管理):

sudo nano /etc/systemd/system/springboot.service

填入以下内容(替换 app.jar 路径和参数):

[Unit]
Description=Spring Boot Application
After=syslog.target network.target

[Service]
Type=simple
User=root
WorkingDirectory=/opt
ExecStart=/usr/bin/java -jar /opt/app.jar --spring.profiles.active=prod
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

✅ 建议将配置文件(如 application-prod.yml)放在 /opt/config/ 目录,并通过 -Dspring.config.location= 指定路径。

启用并启动服务:

sudo systemctl daemon-reload
sudo systemctl enable springboot
sudo systemctl start 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;
    }

    # 可选:静态资源缓存
    location ~* .(jpg|jpeg|png|gif|ico|css|js)$ {
        expires 30d;
        add_header Cache-Control "public, immutable";
    }
}

测试并重载 Nginx:

sudo nginx -t
sudo systemctl reload nginx

🔒 步骤五:(可选)配置 HTTPS(Let’s Encrypt)

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your-domain.com

按提示完成验证,自动配置 SSL 并设置自动续期。


🛠️ 常用运维命令

操作 命令
查看日志 journalctl -u springboot -f
重启服务 sudo systemctl restart springboot
停止服务 sudo systemctl stop springboot
查看端口占用 sudo netstat -tlnp | grep 8080
检查 Nginx 日志 tail -f /var/log/nginx/error.log

✅ 验证部署

访问 http://your-server-iphttps://your-domain.com,应看到 Spring Boot 返回的欢迎页面或 API 响应。


需要我提供:

  • Docker 化部署方案?
  • 多实例负载均衡配置?
  • 自动化 CI/CD 流程(GitHub Actions + 腾讯云 TKE/Lighthouse)?

欢迎告诉我你的具体需求,我可以进一步细化!

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