在腾讯云轻量应用服务器(Lighthouse)上配置 Java 后端,通常包括环境搭建、项目部署、服务管理和安全配置等步骤。以下是完整流程:
一、准备工作
-
购买轻量应用服务器
- 选择合适配置(如 2 核 4G 以上推荐用于生产环境)。
- 操作系统建议选 Ubuntu 22.04 LTS 或 CentOS 7/8(这里以 Ubuntu 为例)。
- 安装时勾选“已安装 Java”可选,但更推荐手动安装指定版本。
-
远程连接服务器
ssh root@<你的公网IP> # 或使用腾讯云服务器管理后台的 VNC/WebShell
二、安装 Java 运行环境(JDK)
方式一:使用官方源安装(推荐)
# 更新软件包列表
sudo apt update
# 安装 OpenJDK 17(根据项目需求调整版本)
sudo apt install openjdk-17-jdk -y
# 验证安装
java -version
javac -version
方式二:从官网下载 JDK(如需特定版本如 Oracle JDK)
# 下载 JDK 17(示例链接,请替换为最新稳定版)
wget https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_linux-x64_bin.tar.gz
# 解压到 /usr/local
sudo tar -xzf openjdk-17.0.2_linux-x64_bin.tar.gz -C /usr/local/
# 设置环境变量
echo 'export JAVA_HOME=/usr/local/jdk-17.0.2' | sudo tee -a ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' | sudo tee -a ~/.bashrc
source ~/.bashrc
# 验证
java -version
三、上传并部署 Java 项目
方法 A:直接上传 JAR 包(适合 Spring Boot 项目)
# 在本地打包项目(确保无依赖问题)
mvn clean package -DskipTests
# 或
./gradlew bootJar
# 将生成的 .jar 文件上传到服务器(推荐使用 scp 或 sftp)
scp target/your-app.jar root@<你的公网IP>:/opt/app/
# 登录服务器进入目录
ssh root@<你的公网IP>
cd /opt/app
方法 B:通过 Git 拉取源码后构建
git clone <你的项目仓库地址>
cd your-project
chmod +x ./mvnw # 如有 Maven Wrapper
./mvnw clean package -DskipTests
四、运行 Java 应用(后台持久化)
方案 1:使用 nohup(简单场景)
nohup java -jar your-app.jar --server.port=8080 > app.log 2>&1 &
# 查看日志
tail -f app.log
# 停止进程
ps aux | grep your-app.jar
kill <PID>
方案 2:使用 Systemd 管理(推荐生产环境)
创建服务文件:
sudo nano /etc/systemd/system/myapp.service
内容如下(按需修改路径和参数):
[Unit]
Description=My Java Application
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/app
ExecStart=/usr/bin/java -jar your-app.jar --spring.profiles.active=prod
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable myapp
sudo systemctl start myapp
# 查看状态
sudo systemctl status myapp
# 查看日志
journalctl -u myapp -f
五、配置防火墙与域名访问
1. 开放端口(默认 8080 或自定义)
轻量服务器控制台 → 防火墙规则 → 添加入站规则:
- 协议:TCP
- 端口:8080(或你应用的端口)
- 来源:0.0.0.0/0(生产环境建议限制 IP)
⚠️ 注意:轻量服务器默认只开放 80/443/22 等常用端口,需手动添加。
2. 绑定域名(可选)
- 在 DNS 服务商处将域名 A 记录指向服务器公网 IP。
-
在 Nginx 中反向X_X(推荐):
sudo apt install nginx -y sudo nano /etc/nginx/sites-available/myapp配置示例:
server { listen 80; server_name yourdomain.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; } }启用站点:
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/ sudo nginx -t && sudo systemctl reload nginx
3. HTTPS 加密(强烈推荐)
使用 Let’s Encrypt 免费证书:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com
自动配置重定向和续期。
六、优化建议(生产环境)
- JVM 参数调优(根据内存调整):
ExecStart=/usr/bin/java -Xms512m -Xmx1g -XX:+UseG1GC -jar your-app.jar - 日志轮转:配置 logback-spring.xml 或 logback.xml 实现按天切割日志。
- 监控告警:集成 Prometheus + Grafana 或使用腾讯云云监控。
- 数据库连接:避免直连公网,建议使用内网数据库或 RDS 私有连接。
七、常见问题排查
| 问题 | 解决方法 |
|---|---|
| 启动失败:Port already in use | 检查端口占用:lsof -i :8080,修改端口或杀进程 |
| OutOfMemoryError | 增加 -Xmx 值,或升级服务器内存 |
| 无法访问网页 | 检查防火墙、Nginx 配置、SELinux(若用 CentOS) |
| 中文乱码 | 确保 JVM 启动参数加 -Dfile.encoding=UTF-8 |
通过以上步骤,即可在腾讯云轻量服务器上稳定部署 Java 后端服务。如果是首次部署,建议先在测试环境验证流程,再迁移至生产。需要具体某一步的详细命令或脚本模板,欢迎继续提问!
轻量云Cloud