在腾讯云轻量应用服务器(Lighthouse)上部署 Spring Boot 项目,通常采用 JDK + Maven/Gradle + Nginx 的经典架构。以下是基于 Ubuntu 系统的完整部署流程:
一、环境准备
-
登录服务器
ssh root@<你的公网IP> -
更新系统并安装基础工具
sudo apt update && sudo apt upgrade -y sudo apt install -y curl git vim unzip -
安装 JDK(以 JDK 17 为例)
# 添加 Adoptium 源(推荐)或直接使用 openjdk sudo apt install -y openjdk-17-jdk # 验证安装 java -version javac -version -
安装 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 应用
-
创建运行目录
mkdir -p /opt/springboot-app cd /opt/springboot-app -
放置 JAR 包
(如果已通过 scp 上传,移动到此处;否则将target/*.jar复制过来) -
创建配置文件(可选)
创建application.yml或application.properties,例如:server: port: 8080 spring: datasource: url: jdbc:mysql://localhost:3306/db_name username: root password: your_password -
直接运行测试
nohup java -jar myapp.jar --spring.profiles.active=prod > app.log 2>&1 &✅ 建议先后台运行测试是否正常,再考虑使用 systemd 管理。
-
查看日志
tail -f app.log
四、使用 systemd 管理服务(推荐生产环境)
-
创建服务文件
sudo nano /etc/systemd/system/myapp.service -
写入以下内容(根据实际情况修改路径和参数):
[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 -
启用并启动服务
sudo systemctl daemon-reload sudo systemctl enable myapp sudo systemctl start myapp -
常用命令
sudo systemctl status myapp # 查看状态 sudo systemctl stop myapp # 停止 sudo systemctl restart myapp # 重启 journalctl -u myapp -f # 实时日志
五、配置 Nginx 反向X_X(可选但推荐)
-
安装 Nginx
sudo apt install -y nginx -
配置反向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; } } -
启用配置
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl reload nginx -
开放防火墙端口
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