You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在运行WHM/cPanel的CentOS 7.9 KVM VPS上部署Spring Boot应用到子域名

部署Spring Boot应用到cPanel子域名的实操步骤

1. 前置环境准备

  • 首先登录WHM确认服务器已安装对应版本的JDK:Spring Boot 2.x版本适配JDK 8/11,Spring Boot 3.x版本适配JDK 17,CentOS 7下可直接执行命令yum install java-11-openjdk-devel -y安装,安装完成后执行java -version验证版本正确。
  • 登录对应站点的cPanel面板,创建目标子域名,记录子域名对应的站点根目录,默认路径为/home/你的cPanel用户名/public_html/子域名前缀。

2. 本地应用打包配置

  • 打包前修改Spring Boot配置文件application.properties:
    • 配置未被占用的服务端口,避免和cPanel占用的80、443等端口冲突,示例:server.port=8080
    • 按需配置上下文路径,默认根路径配置为server.servlet.context-path=/
  • 将项目打包为可执行jar包,得到类似demo-0.0.1-SNAPSHOT.jar的文件。

3. 上传应用到服务器

  • 可以通过cPanel文件管理器、SFTP工具,将jar包上传到自建的应用目录,比如/home/你的cPanel用户名/app/,不要放在站点根目录避免文件被直接下载。

4. 配置应用后台自启动

  • 使用root权限编辑systemd服务文件,路径为/etc/systemd/system/自定义应用名.service,内容参考:
[Unit]
Description=Spring Boot Application
After=network.target

[Service]
User=你的cPanel用户名
Group=你的cPanel用户组
WorkingDirectory=/home/你的cPanel用户名/app/
ExecStart=/usr/bin/java -jar demo-0.0.1-SNAPSHOT.jar
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
  • 依次执行以下命令生效配置:
    • 重载服务配置:systemctl daemon-reload
    • 启动应用:systemctl start 自定义应用名.service
    • 设置开机自启:systemctl enable 自定义应用名.service
  • 执行systemctl status 自定义应用名.service或curl http://127.0.0.1:8080验证应用启动正常。

5. 配置子域名反向代理

cPanel默认使用Apache作为Web服务,直接在子域名站点根目录新建.htaccess文件,添加以下转发规则即可:

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/.*
RewriteRule ^(.*)$ http://127.0.0.1:8080/$1 [P,L]

保存后所有访问子域名的请求会自动转发到本地运行的Spring Boot应用,如需配置HTTPS,直接在cPanel中为子域名申请SSL证书即可,无需修改转发规则。

注意事项

  • 确认防火墙开放应用使用的端口,cPanel默认使用firewalld的话,执行firewall-cmd --add-port=8080/tcp --permanent && firewall-cmd --reload即可放行端口。
  • 应用启动异常时可执行journalctl -u 自定义应用名.service -f查看实时运行日志排查问题。
  • 如果服务器使用Nginx作为Web服务,对应修改子域名的Nginx配置添加反向代理规则即可,逻辑和Apache一致。

内容的提问来源于stack exchange,提问作者KenobiBastila

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 15:36:01