使用腾讯云轻量应用服务器(Lighthouse)部署 Java 后端服务的完整流程如下,涵盖从购买服务器到服务上线的关键步骤:
一、前期准备
- 注册并登录腾讯云账号
- 完成实名认证(个人/企业)。
- 准备项目代码
- 确保 Java 项目可独立打包为 JAR(如使用
mvn clean package或gradle build)。 - 推荐将依赖配置在
application.yml中,避免硬编码数据库地址等敏感信息。
- 确保 Java 项目可独立打包为 JAR(如使用
- 获取必要资源
- 数据库(可选自建或云数据库 MySQL/CRedis)。
- 域名与 SSL 证书(如需 HTTPS)。
- Git 仓库或本地打包文件(用于上传)。
二、创建轻量应用服务器实例
- 进入控制台
访问 腾讯云轻量应用服务器 → 点击「创建」。 - 选择镜像
- 推荐:Ubuntu 22.04 LTS 或 CentOS 7/8(Java 环境兼容性更好)。
- 若需快速部署,可选择「已安装 JDK」的镜像(部分镜像内置 OpenJDK 8/11/17)。
- 配置实例
- 地域:选靠近用户的位置(如上海、广州)。
- 套餐:根据负载选择 CPU/内存(建议 ≥2 核 4G 以运行 Spring Boot)。
- 带宽:初期可选 1~5Mbps,后续按需升级。
- 安全组:默认开放 SSH(22)、HTTP(80)、HTTPS(443),后续需手动放行 Java 端口(如 8080)。
- 设置密码/密钥对
- 推荐使用 SSH 密钥对(更安全),记录私钥保存位置。
- 创建实例
- 等待约 1~2 分钟启动完成。
三、基础环境配置(SSH 连接后操作)
通过终端连接服务器:
ssh root@<公网IP>
# 或使用密钥:ssh -i ~/.ssh/id_rsa root@<公网IP>
1. 更新系统 & 安装工具
sudo apt update && sudo apt upgrade -y # Ubuntu
# 或:sudo yum update -y # CentOS
sudo apt install vim curl wget git unzip # 常用工具
2. 安装 Java 环境(若镜像未预装)
# 安装 OpenJDK 17(推荐 Spring Boot 3.x)
sudo apt install openjdk-17-jdk -y
# 验证版本
java -version
javac -version
✅ 提示:也可用
apt install openjdk-11-jdk适配旧项目。
3. 安装 Maven(如项目需编译)
sudo apt install maven -y
mvn -v # 验证
4. 安装 Nginx(反向X_X + 静态资源托管,可选但推荐)
sudo apt install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx
5. 安装 Supervisor(进程守护,防止服务中断)
sudo apt install supervisor -y
四、部署 Java 应用
方式一:上传 JAR 包直接运行(适合开发/测试)
- 本地打包:
mvn clean package -DskipTests - 上传至服务器(SCP 或 SFTP):
scp target/myapp.jar root@<公网IP>:/opt/app/ - 创建目录并赋予权限:
mkdir -p /opt/app/logs chmod +x /opt/app/myapp.jar - 后台运行(简单版):
nohup java -jar /opt/app/myapp.jar --spring.profiles.active=prod > /opt/app/logs/app.log 2>&1 &⚠️ 注意:生产环境建议用
systemd或supervisor管理进程。
方式二:使用 systemd 管理(推荐生产环境)
-
创建服务文件:
sudo nano /etc/systemd/system/myapp.service内容示例:
[Unit] Description=My Spring Boot Application After=network.target [Service] User=root WorkingDirectory=/opt/app ExecStart=/usr/bin/java -jar myapp.jar --spring.profiles.active=prod Restart=always Environment="JAVA_OPTS=-Xms512m -Xmx1024m" [Install] WantedBy=multi-user.target - 启用并启动:
sudo systemctl daemon-reload sudo systemctl enable myapp sudo systemctl start myapp sudo systemctl status myapp # 查看状态
方式三:使用 Docker(进阶方案)
- 安装 Docker:
curl -fsSL https://get.docker.com | sh sudo usermod -aG docker $USER - 编写
Dockerfile:FROM openjdk:17-slim WORKDIR /app COPY target/myapp.jar app.jar ENTRYPOINT ["java", "-jar", "app.jar"] - 构建并运行:
docker build -t myapp . docker run -d -p 8080:8080 --name myapp-container myapp
五、配置网络与安全
1. 开放应用端口(防火墙 + 安全组)
- 云服务器安全组(控制台操作):
- 入方向规则:添加 TCP 8080(或自定义端口)→ 来源
0.0.0.0/0(测试)或指定 IP。
- 入方向规则:添加 TCP 8080(或自定义端口)→ 来源
- 服务器内部防火墙(UFW):
sudo ufw allow 8080/tcp sudo ufw enable
2. 配置 Nginx 反向X_X(推荐)
编辑 /etc/nginx/sites-available/default:
server {
listen 80;
server_name your-domain.com;
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
3. 配置域名解析(如有)
- 在 DNS 服务商处添加 A 记录:
your-domain.com→ 服务器公网 IP。 - 申请 SSL 证书(Let’s Encrypt 免费):
sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d your-domain.com
六、监控与维护
- 日志查看:
journalctl -u myapp -f # systemd 日志 tail -f /opt/app/logs/app.log # 自定义日志 - 性能监控:
- 腾讯云轻量控制台提供基础监控(CPU/内存/磁盘)。
- 可集成 Prometheus + Grafana 做深度监控。
- 备份策略:
- 定期备份数据库(mysqldump)。
- 使用快照功能备份整台服务器(控制台 → 实例 → 快照)。
七、常见问题排查
| 问题 | 解决方案 |
|---|---|
| 端口无法访问 | 检查安全组 + UFW 规则;确认 Java 监听的是 0.0.0.0 而非 127.0.0.1 |
| OOM 崩溃 | 调整 JVM 参数 -Xms/-Xmx;增加服务器内存 |
| 启动慢 | 优化启动配置;使用 -XX:+UseG1GC;检查数据库连接池 |
| 日志为空 | 检查 logging.file.path 配置;确认日志目录有写权限 |
附:一键部署脚本示例(简化版)
#!/bin/bash
set -e
IP=$1
JAR_FILE=$2
echo "🚀 Deploying to $IP..."
scp "$JAR_FILE" root@$IP:/opt/app/
ssh root@$IP << 'EOF'
cd /opt/app
sudo mkdir -p logs
sudo chmod 755 .
cat > /etc/systemd/system/myapp.service << 'SERVICE'
[Unit]
Description=Spring Boot App
After=network.target
[Service]
User=root
WorkingDirectory=/opt/app
ExecStart=/usr/bin/java -jar myapp.jar
Restart=always
[Install]
WantedBy=multi-user.target
SERVICE
sudo systemctl daemon-reload
sudo systemctl enable myapp
sudo systemctl start myapp
echo "✅ Service started!"
EOF
通过以上步骤,你可高效、安全地在腾讯云轻量服务器上部署 Java 后端服务。如需高可用,建议结合负载均衡 CLB + 多节点集群方案。需要我提供某一步的详细命令或配置文件模板吗?
云小栈