在腾讯云轻量应用服务器(Lighthouse)上配置 Java 后端,通常包括系统初始化、环境安装、项目部署和运行优化几个关键步骤。以下是详细流程:
一、基础准备
-
登录控制台
进入 腾讯云轻量应用服务器控制台,选择目标实例 → 点击「远程连接」或通过 SSH 客户端连接(如ssh root@<IP>)。 -
更新系统与依赖
# Ubuntu/Debian sudo apt update && sudo apt upgrade -y sudo apt install -y wget curl git vim # CentOS/RHEL sudo yum update -y sudo yum install -y wget curl git vim
二、安装 Java 环境(推荐 JDK 17 或 21 LTS)
方式一:使用官方 APT/YUM 源(推荐)
# 添加 Adoptium 仓库(Ubuntu)
sudo apt install -y apt-transport-https software-properties-common
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | sudo tee /etc/apt/keyrings/adoptium.asc
echo "deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/adoptium.list
# 安装 JDK 17
sudo apt update
sudo apt install -y temurin-17-jdk
# 验证
java -version
javac -version
✅ 建议:生产环境优先选用 LTS 版本(如 17/21),避免使用 Oracle JDK(需商业授权)。
方式二:手动下载(适用于无网络源场景)
从 Adoptium 或 Oracle 下载 .tar.gz,解压并配置 JAVA_HOME:
sudo mkdir -p /usr/local/java
sudo tar -xzf jdk-17_linux-x64_bin.tar.gz -C /usr/local/java/
export JAVA_HOME=/usr/local/java/jdk-17
export PATH=$JAVA_HOME/bin:$PATH
# 永久生效:写入 ~/.bashrc 或 /etc/profile.d/java.sh
三、部署 Java 后端项目
方案 A:直接上传 JAR 包(简单快速)
- 本地打包项目为可执行 JAR:
mvn clean package -DskipTests # 或使用 Gradle: gradle bootJar - 通过
scp或rsync上传到服务器:scp target/myapp.jar root@<IP>:/opt/myapp/ - 创建启动脚本
/opt/myapp/start.sh:#!/bin/bash cd /opt/myapp nohup java -Xms512m -Xmx1024m -jar myapp.jar --spring.profiles.active=prod > app.log 2>&1 & echo $! > myapp.pidchmod +x start.sh ./start.sh
方案 B:使用 Systemd 管理进程(推荐生产环境)
创建服务文件 /etc/systemd/system/myapp.service:
[Unit]
Description=My Java Application
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/myapp
ExecStart=/usr/bin/java -Xms512m -Xmx1024m -jar myapp.jar --spring.profiles.active=prod
Restart=on-failure
RestartSec=10s
[Install]
WantedBy=multi-user.target
启用并启动:
sudo systemctl daemon-reload
sudo systemctl enable myapp
sudo systemctl start myapp
sudo systemctl status myapp
✅ 优势:自动重启、日志集成(journalctl -u myapp)、开机自启。
四、安全与网络配置
-
防火墙规则
轻量服务器默认开放 80/443/22,需在控制台「防火墙」中添加入站规则(如你的后端端口8080):- 协议:TCP
- 端口:8080
- 来源:
0.0.0.0/0(或指定 IP 段)
-
Nginx 反向X_X(可选但推荐)
安装 Nginx:sudo apt install nginx -y # 或 yum install nginx配置
/etc/nginx/sites-available/myapp: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; } }启用并测试:
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/ 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 并续期
五、监控与日志(进阶)
- 日志集中管理:将
app.log接入logrotate或 ELK Stack。 - 性能监控:安装 Prometheus + Grafana 监控 JVM(JMX)指标。
- 告警:结合腾讯云云监控(CloudMonitor)设置 CPU/内存/磁盘阈值告警。
常见问题排查
| 问题 | 解决方案 |
|---|---|
Connection refused |
检查防火墙是否放行端口;确认 Java 监听地址是 0.0.0.0 而非 127.0.0.1 |
| OOM 错误 | 调整 -Xmx 参数;增加实例内存规格 |
| 启动慢 | 禁用不必要的 Spring Boot Starter;使用 GraalVM Native Image(高级) |
| 中文乱码 | 确保 LANG=en_US.UTF-8;JVM 加 -Dfile.encoding=UTF-8 |
需要我提供:
- 针对 Spring Boot 项目的完整
pom.xml/build.gradle示例? - Docker 化部署方案(更隔离、易迁移)?
- 自动化部署脚本(CI/CD 集成 GitHub Actions)?
欢迎告诉我你的具体技术栈(如 Spring Boot 版本、数据库类型),我可进一步定制方案。
CLOUD云计算