当前位置: 首页 > news >正文

Centos 7系统 宝塔部署Tomcat项目(保姆级教程)

再看文章之前默认已经安装好系统,可能是云系统,或者是虚拟机。

宝塔安装

这个比较简单,参考这个老哥的即可:
https://blog.csdn.net/weixin_42753193/article/details/125959289

环境配置

进入宝塔面板之后会出现环境安装,可以默认安装即可,然后就是安装JDK、MySQL、Redis、MinIO等,根据自己需求安装,这些都不是问题,都是无脑安装。

本地测试环境连接

基本测试步骤:在云服务平台开放对应端口 => 在宝塔面板开放对应端口 => 本地连接测试

MySQL测试

MySQL测试
同在Navicat创建数据库类似,先创建,再导入自己的 sql 文件;这个密码不需要记,如果忘记可直接查看,或者直接 root 一个新密码;
接下来在本地测试连接,配置 系统ip + 3306 端口号,并且把这个用户名和密码一同配置,这个很容易测试成功。

Redis

Redis测试
下载之后再面板中的软件商城中打开,配置ip以及密码即可,ip为0.0.0.0;之后本地测试的时候填写服务器ip即可,然后如果设置密码就配置;这个也很容易搞。

MinIO测试

这个真的是给我搞的晕头转向,我没有通过面板下载,而是通过命令行下载的;
创建文件目录:

mkdir minio
chmond 777 minio/
# 然后进入minio路径下
mkdir data
mkdir bin
chmod 777 data/
chmod 777 bin/
touch minio.log

下载minio:

wget https://dl.minio.io/server/minio/release/linux-amd64/minio

启动minio服务
这里我直接贴一个我实现的方式,稍后讲我遇见的问题

# 先进入到bin路径下
sudo nano start.sh# 文件中填写
# 自定义用户名
export MINIO_ROOT_USER=minioadmin
# 自定义密码
export MINIO_ROOT_PASSWORD=Zhanghy0330
# /www/server/panel/plugin/minio 这个路径是你刚改创建的minio路径,替换即可
nohup /www/server/panel/plugin/minio/minio server --console-address :9001 /www/server/panel/plugin/minio/data >/www/server/panel/plugin/minio/minio/minio.log 2>&1 &# 再创建一个stop.sh
sudo nano stop.sh# 文件内容
#!/bin/bashecho "Stopping minio"
pid=`ps -ef | grep 'minio server' | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
thenkill -9 $pid
fi
echo "Stop Success!"# 启动
sudo sh start.sh# 关闭
sudo sh stop.sh

至此,minio服务就算配置完了!但是其中有一些坑,我是踩得一个比一个准!
来细讲,minio服务是有两个端口的:

  • 9000 端口:​这是 MinIO 的默认 API 端口,主要用于 S3 协议的对象存储操作,适合通过命令行工具(如 mc)或编程方式进行访问。​
  • 9001 端口:​这是 MinIO 的 Web 控制台端口,提供图形化界面,便于进行用户管理、权限设置、监控等操作。

那么可以发现我们在启动服务的时候只配置了 9001 端口,这时候就有一个好处 :

  • 当你在浏览器中访问 http://<服务器IP>:9000 时,MinIO 会自动重定向到控制台端口(如 http://<服务器IP>:9001),以提供图形化界面。

如果你两个都配置,就会出现谁干谁的活,互不干扰,也不联系;这就导致一个严重的问题,在 Java 项目中配置 minio 的时候必须使用 9000 端口(API端口),但是这样配置完之后照片是可以存储,但是你再通过 URL 访问图片资源的时候会发现端口号还是 9000 ,此时问题就出现了 404 显示不了;问题就在于你访问的资源应该通过 9001 这个Web控制台窗口去访问。
因此为了不必要的麻烦,直接用我配置的方式去配置即可,这个配置完了之后,这两个端口就行亲兄弟似得,互相帮助。

项目打包

我的项目结构

基于 Spring + SpringMVC + Mybatis + Redis 构建的系统,并且最终要的是通过父工程管理依赖版本的项目。
在父工程的 pom.xml 中添加一下配置:

<!--Maven的打包插件--><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>3.3.2</version></plugin></plugins></build>
开始打包:

项目打包
可以发现我是打开的 root 项目中的Maven,点击 clean 可以清楚现有的 target,然后点击 package 会将子项目中的有服务的项目打包成 war 包,并且会自动依赖到其他的资源文件,比如应用到了 common 这个子项目中的 Bean对象;
至此项目打包完毕,开始部署!!

项目部署

在这里插入图片描述
目前版本的宝塔面板的界面,先点击 Java 环境管理 去配置Java环境,JDK 和 安装 Tomcat;

这里主要安装 Tomcat :

在这里插入图片描述
全局安装是一个版本只能安装一个,自定义安装,就是一个版本可以安装多个;建议自定义安装,分块化管理服务;可以自定义端口(还是跟刚才一样,先放行云服务器上的端口,再放行宝塔面板的端口

添加 Java 项目:

在这里插入图片描述
主要还是配置项目路径,在 wwwroot 文件下自定义一个文件夹,然后域名就是有的话写上,没有的话先写 ip 也行;
在这里插入图片描述创建完成之后点击根目录,将之前打的 war 包放进去,双击解压,再将 war 包删除即可。

启动服务

war 包上传之后要将 Tomcat 服务重启,就行你本地写代码一样,每改动一点就要重新加载 Tomcat 服务。
此时不出意外的话 就可以通过 http://<服务器IP>:<Tomcat端口号>/项目名称 就可以访问到项目中的信息了。
但是有一个坑,这个配置完的项目 Tomcat 会自动将项目名称添加至后端访问接口上,可以在以下设置:
在这里插入图片描述
在这里插入图片描述
就是有一个后端路由可以自定义改为 / ,但是我改的时候同样出现访问不到的问题,大概率应该是浏览器缓存的问题,一定要记得时常清一清缓存。如果实在访问不到后端服务,可以通过浏览器的输入测试到底是怎么拼接的,当然服务肯定是启动的,就是接口没有找好。
至此一个小小项目就上线成功了。

总结

以前部署项目都是现有的开源项目,都是有教程的,但是这一次是完全自己摸索,从0 到 1,用了大概三四天这个样子,又了解不少,哈哈。
最后我的域名还在申请中… 根据描述工信部还有一个星期的审核,再加上这个五一假期,难评,因为我还着急用呢,急着投简历呢。

相关文章:

  • Nginx反向代理的负载均衡配置
  • Maven中的依赖管理
  • 【时时三省】(C语言基础)利用数组处理批量数据
  • 基于GPT 模板开发智能写作辅助应用
  • 编程日志4.24
  • 甲骨文云2025深度解析:AI驱动的云原生生态与全球化突围
  • 搜索引擎中的检索模型(布尔模型、向量空间模型、概率模型、语言模型)
  • DeepSeek: 探索未来的深度学习搜索引擎
  • 移远通信LG69T赋能零跑B10:高精度定位护航,共赴汽车智联未来
  • 开发iOS App时,我常用的一款性能监控小工具分享
  • MES管理系统:重构生产任务管理的数智化引擎
  • 激光驱鸟:以科技重构生态防护边界
  • CSS--图片链接水平居中展示的方法
  • 指针(5)
  • Git 多账号切换及全局用户名设置不生效问,GIT进行上传无权限问题
  • 【MongoDB篇】MongoDB的数据库操作!
  • GBDT算法原理及Python实现
  • C++入门(缺省参数/函数/引用)
  • 从实列中学习linux shell脚本2: shell 的变量 方法 命名和使用规则之类 比如拿:获取cpu 负载,以及负载超过2.0 以后就发生邮件为例子
  • Silvaco仿真中的victory mesh
  • 海量数据处于“原矿”状态,数据价值释放如何破局?
  • 顺利撤离空间站,神十九乘组踏上回家之旅
  • 辽宁省委书记郝鹏、省长王新伟赶到辽阳火灾事故现场指导善后处置工作
  • 西藏阿里地区日土县连发两次地震,分别为4.8级和3.8级
  • 俄宣布停火三天,外交部:希望各方继续通过对话谈判解决危机
  • 释新闻|西葡大停电为何规模大、恢复慢?可再生能源是罪魁祸首?