使用腾讯云轻量应用服务器(Lighthouse)部署 Java 后端服务的完整步骤如下,涵盖从购买到运行的全流程:
一、前期准备
- 注册并登录腾讯云账号
- 完成实名认证(部分服务需实名)
- 创建安全组规则(后续开放端口)
二、购买与初始化轻量应用服务器
- 进入 轻量应用服务器控制台
- 点击「创建」,选择:
- 地域/可用区(建议选靠近用户的位置)
- 镜像类型:推荐
CentOS 7.x/Ubuntu 20.04+/Debian 11(避免用 Windows,除非必须) - 配置:根据需求选 CPU/内存/带宽(如 2 核 4G + 3M 起步)
- 设置密码或密钥对(推荐 SSH 密钥,更安全)
- 创建成功后,记录 公网 IP 地址 和 默认用户名(如
root)
三、基础环境搭建(以 Ubuntu 22.04 为例)
通过 SSH 登录服务器:
ssh root@<你的公网IP>
# 首次连接需确认指纹,输入密码或使用私钥
1. 更新系统 & 安装必要工具
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git vim unzip wget
2. 安装 JDK(以 OpenJDK 17 为例)
# 添加 Adoptium 源(推荐)
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/adoptium.gpg > /dev/null
echo "deb https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print $2}' /etc/os-release) main" | sudo tee /etc/apt/sources.list.d/adoptium.list
sudo apt update
sudo apt install -y temurin-17-jdk
java -version # 验证安装
✅ 替代方案:若项目依赖特定版本(如 JDK 8),可改用
apt install openjdk-8-jdk或手动下载 tarball。
3. 安装 Maven(可选,用于构建项目)
sudo apt install -y maven
mvn -version
4. 安装 Nginx(反向X_X + 静态资源,可选但推荐)
sudo apt install -y nginx
sudo systemctl enable nginx
sudo systemctl start nginx
四、上传并部署 Java 应用
方式 A:直接上传 JAR 包(适合已打包好的 Spring Boot 项目)
-
本地打包:
mvn clean package -DskipTests # 生成 target/your-app.jar -
上传到服务器(推荐用
scp或rsync):scp target/your-app.jar root@<你的公网IP>:/opt/app/ -
在服务器上启动:
cd /opt/app java -jar your-app.jar --server.port=8080 --spring.profiles.active=prod⚠️ 生产环境建议使用
nohup或 systemd 管理进程(见下文)。
方式 B:源码部署(需 Git + Maven)
cd ~
git clone <你的Git仓库地址>
cd your-repo
mvn clean package -DskipTests
java -jar target/your-app.jar
五、配置守护进程(systemd)确保开机自启 & 稳定运行
创建服务文件:
sudo nano /etc/systemd/system/myapp.service
填入以下内容(按需修改路径):
[Unit]
Description=My Java Application
After=network.target
[Service]
User=root
WorkingDirectory=/opt/app
ExecStart=/usr/bin/java -jar myapp.jar --server.port=8080 --spring.profiles.active=prod
Restart=always
RestartSec=10
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=myapp
[Install]
WantedBy=multi-user.target
启用服务:
sudo systemctl daemon-reload
sudo systemctl enable myapp
sudo systemctl start myapp
sudo systemctl status myapp # 查看状态
六、配置防火墙与安全组
1. 轻量应用服务器控制台 → 安全组
- 编辑默认安全组,添加入方向规则:
- 协议:TCP
- 端口:
8080(应用端口)、22(SSH)、80/443(Nginx) - 来源:
0.0.0.0/0(测试用;生产建议限制为特定 IP)
2. 服务器内部防火墙(UFW,可选)
sudo ufw allow 22/tcp
sudo ufw allow 8080/tcp
sudo ufw allow 80/tcp
sudo ufw enable
sudo ufw status
七、配置 Nginx 反向X_X(推荐)
编辑 Nginx 配置:
sudo nano /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;
proxy_set_header X-Forwarded-Proto $scheme;
# WebSocket 支持(如需)
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
启用站点:
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
🔐 如需 HTTPS:结合 Let’s Encrypt(Certbot)自动申请证书。
八、监控与维护建议
- 日志查看:
journalctl -u myapp -f # 或自定义输出到文件 - 使用
htop/free -h/df -h监控系统资源 - 定期备份数据(数据库、配置文件等)
- 开启云监控告警(CPU/内存/磁盘异常时通知)
常见问题排查
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| 无法访问应用 | 安全组未放行端口 / 防火墙拦截 | 检查安全组 & UFW 规则 |
| 启动后立即退出 | 配置错误 / 端口冲突 / 内存不足 | journalctl -u myapp -xe 查看详细日志 |
| 中文乱码 | JVM 未设 UTF-8 | 启动加 -Dfile.encoding=UTF-8 |
| 高负载卡顿 | 未优化 GC / 线程池不足 | 调整 -Xms/-Xmx 及 Spring Boot 线程参数 |
需要我提供:
- 一键部署脚本模板?
- Docker 化部署方案(更灵活)?
- 配合 MySQL/Redis 的完整架构示例?
欢迎告诉我你的具体技术栈(如 Spring Boot 版本、是否用容器等),我可进一步定制方案。
云小栈