宝塔面板部署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


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


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

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

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

相关文章
|
SQL 运维 网络协议
【运维】阿里云宝塔面板部署JavaWeb项目
【运维】阿里云宝塔面板部署JavaWeb项目
1516 0
【运维】阿里云宝塔面板部署JavaWeb项目
|
6月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
缓存 Java 应用服务中间件
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
2905 5
|
人工智能 自然语言处理 并行计算
EchoMimicV2:阿里推出的开源数字人项目,能生成完整数字人半身动画
EchoMimicV2是阿里蚂蚁集团推出的开源数字人项目,能够生成完整的数字人半身动画。该项目基于参考图片、音频剪辑和手部姿势序列,通过音频-姿势动态协调策略生成高质量动画视频,确保音频内容与半身动作的一致性。EchoMimicV2不仅支持中文和英文驱动,还简化了动画生成过程中的复杂条件,适用于虚拟主播、在线教育、娱乐和游戏等多个应用场景。
3936 5
EchoMimicV2:阿里推出的开源数字人项目,能生成完整数字人半身动画
|
存储 easyexcel Java
SpringBoot+EasyExcel轻松实现300万数据快速导出!
本文介绍了在项目开发中使用Apache POI进行数据导入导出的常见问题及解决方案。首先比较了HSSFWorkbook、XSSFWorkbook和SXSSFWorkbook三种传统POI版本的优缺点,然后根据数据量大小推荐了合适的使用场景。接着重点介绍了如何使用EasyExcel处理超百万数据的导入导出,包括分批查询、分批写入Excel、分批插入数据库等技术细节。通过测试,300万数据的导出用时约2分15秒,导入用时约91秒,展示了高效的数据处理能力。最后总结了公司现有做法的不足,并提出了改进方向。
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
2796 3
|
小程序 JavaScript
微信小程序使用echarts图表(ec-canvas)
这篇文章介绍了在微信小程序中使用`ec-canvas`集成echarts图表的方法,包括解决加载时报错的问题、配置图表组件、以及在小程序页面中引入和使用这些图表组件的步骤。
2341 1
微信小程序使用echarts图表(ec-canvas)
|
小程序 前端开发 JavaScript
微信小程序图表制作利器:ECharts组件的使用与技巧
微信小程序图表制作利器:ECharts组件的使用与技巧
1569 1
成功解决:java: 无效的目标发行版: 17
这篇文章讲述了如何解决在启动SpringBoot项目时遇到的"无效的目标发行版: 17"的问题,主要是通过修改IDEA内置的编译设置,确保它使用正确的JDK版本。
|
Java Maven
springboot jar包启动提示没有主清单属性
springboot jar包启动提示没有主清单属性
880 1

热门文章

最新文章