在腾讯云轻量应用服务器(Tencent Cloud Lighthouse)上部署 Java Web 应用,通常遵循以下标准流程。以下是基于 Linux 环境(如 Ubuntu/Debian/CentOS)的完整步骤指南:
一、前置准备
-
购买并配置轻量应用服务器
- 选择合适配置(CPU/内存/带宽),建议至少 2C4G 运行 Spring Boot 应用。
- 操作系统推荐:Ubuntu 20.04/22.04 LTS 或 CentOS 7/8。
- 开放必要端口(如
80、443、自定义应用端口如8080)。
-
本地准备应用包
- 将 Java Web 项目打包为可执行 JAR(Spring Boot)或 WAR(需搭配 Tomcat)。
- 推荐使用 Maven/Gradle 构建:
mvn clean package -DskipTests
二、上传与部署步骤
方法 A:直接运行 JAR(推荐,适用于 Spring Boot)
-
登录服务器
ssh root@<你的服务器IP> -
安装 JDK
- Ubuntu/Debian:
sudo apt update && sudo apt install openjdk-17-jdk -y java -version - CentOS/RHEL:
sudo yum install java-17-openjdk-devel -y
- Ubuntu/Debian:
-
上传 JAR 文件
- 使用 SCP 或 SFTP 工具(如 WinSCP、FileZilla):
scp your-app.jar root@<服务器IP>:/opt/app/ - 或在服务器上直接用
wget/curl下载(若已部署到私有仓库)。
- 使用 SCP 或 SFTP 工具(如 WinSCP、FileZilla):
-
启动应用
cd /opt/app nohup java -jar your-app.jar --server.port=8080 > app.log 2>&1 &- 添加防火墙规则(轻量控制台或
ufw/firewalld):sudo ufw allow 8080/tcp # 或 sudo firewall-cmd --add-port=8080/tcp --permanent && sudo firewall-cmd --reload
- 添加防火墙规则(轻量控制台或
-
验证访问
- 浏览器访问:
http://<服务器IP>:8080
- 浏览器访问:
方法 B:部署 WAR 文件 + Tomcat(传统 Java EE)
-
安装 Tomcat
sudo apt install tomcat9 tomcat9-admin tomcat9-docs -y # Ubuntu # 或 sudo yum install tomcat9 -y # CentOS -
上传 WAR 文件
scp your-webapp.war root@<服务器IP>:/opt/tomcat/webapps/ -
启动 Tomcat
sudo systemctl start tomcat9 sudo systemctl enable tomcat9 -
开放端口并访问
sudo ufw allow 8080/tcp http://<服务器IP>:8080/your-webapp
三、进阶优化(生产环境建议)
| 项目 | 建议 |
|---|---|
| 进程守护 | 使用 systemd 管理服务(创建 /etc/systemd/system/myapp.service) |
| 日志管理 | 集成 Logback + 轮转策略,或使用云监控采集日志 |
| 域名绑定 | 在轻量控制台绑定自定义域名,配置 HTTPS(Let’s Encrypt) |
| 反向X_X | 安装 Nginx 做负载均衡/静态资源托管/SSL 终结 |
| 数据库连接 | 避免直连公网 DB,使用内网 VPC 或云数据库 CDB |
| 安全加固 | 关闭 SSH 密码登录、启用密钥认证、定期更新系统 |
示例:Systemd 服务配置(JAR 方式)
# /etc/systemd/system/myapp.service
[Unit]
Description=My Spring Boot App
After=network.target
[Service]
User=root
WorkingDirectory=/opt/app
ExecStart=/usr/bin/java -jar your-app.jar
Restart=always
Environment="JAVA_OPTS=-Xms512m -Xmx1024m"
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start myapp
sudo systemctl status myapp
四、常见问题排查
- ❌ 无法访问 → 检查防火墙、安全组、端口监听状态:
netstat -tlnp | grep 8080 - ❌ OOM 错误 → 调整 JVM 参数
-Xms/-Xmx - ❌ 中文乱码 → 设置
export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8" - ❌ 启动后自动退出 → 查看日志:
tail -f app.log
需要我为你提供:
- 完整的 systemd 配置文件模板?
- Nginx + Java 反向X_X配置示例?
- Docker 化部署方案(更灵活易迁移)?
欢迎告诉我你的具体技术栈(Spring Boot? Servlet? 框架版本?),我可以进一步定制方案。
云小栈