宝塔面板部署Java项目全指南:JDK+Nginx+MySQL+Redis一站式配置

简介: 使用宝塔面板部署Java项目确实能省去不少配置环境的时间。下面整理了一份详细的部署步骤,并汇总了关键信息以方便实践。

使用宝塔面板部署Java项目确实能省去不少配置环境的时间。下面整理了一份详细的部署步骤,并汇总了关键信息以方便实践。

为了对整个流程有清晰的把握,下面这个表格概括了部署的核心步骤:

步骤 主要内容
1. 安装宝塔面板 通过脚本安装面板,并登录配置。
2. 安装基础软件 通过宝塔的"软件商店"安装NginxMySQLRedis
3. 配置Java环境 安装JDK,可以通过宝塔的"Java项目"模块或手动安装。
4. 部署后端项目 将Jar包上传至服务器,并通过宝塔的"Java项目"功能或命令启动。
5. 部署前端项目 & 配置Nginx 上传前端文件,并配置Nginx进行反向代理和静态资源服务。
6. 配置数据库与Redis 创建数据库、导入数据,并配置Redis远程连接。
7. 检查与访问 开放端口,通过浏览器访问项目。


💻 环境准备与软件安装

  1. 安装宝塔面板
  • 通过服务器供应商的VNC终端连接你的服务器。
  • 执行以下命令安装宝塔面板(适用于CentOS系统):
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
  • 安装完成后,命令行界面会显示面板访问地址用户名密码,请务必妥善保存
  • 在服务器的防火墙安全组/配置中,放行宝塔面板的默认端口8888,之后即可通过显示的地址访问面板。
  1. 安装必要软件
    登录宝塔面板后,在软件商店中查找并安装以下软件:
  • Nginx
  • MySQL (推荐5.7或8.0版本)
  • Redis

☕ 配置Java环境

根据你的项目类型,可以选择不同的JDK安装方式:

  • 方式一:通过宝塔面板安装(推荐)
    进入宝塔面板的「网站」-「Java项目」-「Java环境管理」,你可以直接下载并安装所需的JDK版本(如OpenJDK 1.8、11、17等)。这种方式便于统一管理。
  • 方式二:手动安装
    如果宝塔提供的版本不满足需求,可以手动安装。
  1. 通过宝塔的"文件"功能,将JDK压缩包(如.tar.gz格式)上传到服务器,例如/usr/local/java目录。
  2. 在终端中解压:tar -zxvf jdk-8u144-linux-x64.tar.gz
  3. 配置环境变量:编辑/etc/profile文件,在末尾添加以下内容(请根据实际路径修改):
export JAVA_HOME=/usr/local/java/jdk1.8.0_144
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
  1. 保存后执行source /etc/profile使配置生效,然后使用java -version验证是否安装成功。

🚀 部署后端Java项目

  1. 准备项目包
    将你的Spring Boot项目打包成Jar包,然后通过宝塔的"文件"功能上传到服务器,例如/www/wwwroot目录下。
  2. 启动Java项目
    宝塔面板提供了两种主要方式来运行Jar包:
  • 使用"Java项目"功能(推荐)
    进入「网站」-「Java项目」-「添加Java项目」。
  • 项目类型:选择"Spring Boot项目"。
  • 项目路径:选择你上传的Jar包。
  • JDK版本:选择你已安装的版本。
  • 启动参数(可选):如果需要指定配置文件,可以填入--spring.profiles.active=prod
    这种方式可以自动放行端口,并方便地管理项目日志。
  • 使用命令后台启动
    如果你习惯使用命令行,可以进入Jar包所在目录,执行:
nohup java -jar your-project.jar --spring.profiles.active=prod >log.out &
  • 其中--spring.profiles.active=prod用于指定使用生产环境配置。

🌐 部署前端与配置Nginx

  1. 部署前端文件
    将你打包好的前端静态文件(如Vue项目的dist目录)上传到服务器,例如/www/wwwroot/your-frontend目录下。
  2. 配置Nginx
  • 在宝塔面板的「网站」中「添加站点」,域名暂时填写你的服务器IP,根目录选择你上传的前端文件所在目录(例如上面的/www/wwwroot/your-frontend)。
  • 添加站点后,点击站点设置里的"配置文件",进行修改。
  • 核心配置是添加一个location块,将前端的API请求反向代理到后端Java服务(假设后端运行在8080端口):
location /api/ {
    proxy_pass http://127.0.0.1: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;
}
  • 为了解决前端路由在刷新后报404的问题,还需要添加以下配置:
location / {
    try_files $uri $uri/ /index.html;
}
  • 修改配置后,记得在Nginx设置中重启服务使配置生效。

🗄️ 配置数据库与Redis

  1. 配置MySQL
  • 在宝塔面板的「数据库」中创建新数据库,设置名称、用户名和密码。字符集建议选择utf8mb4
  • 为了方便远程连接或调试,可以将数据库的"权限"设置为"所有人",否则可能只有本地localhost能连接。
  • 通过"导入"功能,将本地的SQL文件导入到新创建的数据库中。
  • 记得检查并修改你Java项目的配置文件(如application-prod.yml),确保其中的数据库连接URL、用户名和密码已更新为线上环境的信息。
  • 配置Redis
  • 在宝塔面板中找到已安装的Redis,点击"设置"。
  • 在"配置文件"中,找到bind 127.0.0.1这一行,在其前面加上#将其注释掉(或者改为0.0.0.0),以允许远程连接。
  • 找到protected-mode yes,将其改为protected-mode no
  • 找到# requirepass foobared这一行,删除#注释,并将foobared改为你自己的强密码
  • 同样,在你的Java项目配置文件中,需要更新Redis服务器的地址和密码。

🔧 最终检查与访问

  1. 检查端口放行:确保你的服务器安全组和宝塔面板的防火墙已经放行了项目所需的端口,例如80(HTTP)、443(HTTPS)、3306(MySQL)、6379(Redis)以及你的后端应用端口(如8080)。
  2. 访问项目:在浏览器中输入你的服务器IP地址或绑定的域名,检查前后端是否正常运行。

💎 总结

总的来说,使用宝塔面板部署Java项目可以概括为"装环境、传包、配置、启动"四个关键阶段。在整个过程中,环境配置的正确性配置文件中各项连接信息的一致性是成功部署的关键,请务必仔细核对。

宝塔面板部署Java项目全指南:JDK+Nginx+MySQL+Redis一站式配置.png


谢谢你看我的文章,既然看到这里了,如果觉得不错,随手点个赞、转发、在看三连吧,感谢感谢。那我们,下次再见。


您的一键三连,是我更新的最大动力,谢谢

山水有相逢,来日皆可期,谢谢阅读,我们再会

我手中的金箍棒,上能通天,下能探海

相关文章
|
4天前
|
数据采集 人工智能 安全
|
14天前
|
云安全 监控 安全
|
5天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1139 152
|
19天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1802 9
|
10天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
728 152
|
7天前
|
SQL 自然语言处理 调度
Agent Skills 的一次工程实践
**本文采用 Agent Skills 实现整体智能体**,开发框架采用 AgentScope,模型使用 **qwen3-max**。Agent Skills 是 Anthropic 新推出的一种有别于mcp server的一种开发方式,用于为 AI **引入可共享的专业技能**。经验封装到**可发现、可复用的能力单元**中,每个技能以文件夹形式存在,包含特定任务的指导性说明(SKILL.md 文件)、脚本代码和资源等 。大模型可以根据需要动态加载这些技能,从而扩展自身的功能。目前不少国内外的一些框架也开始支持此种的开发方式,详细介绍如下。
507 5
|
12天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
672 14