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,用了大概三四天这个样子,又了解不少,哈哈。
最后我的域名还在申请中… 根据描述工信部还有一个星期的审核,再加上这个五一假期,难评,因为我还着急用呢,急着投简历呢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/78728.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nginx核心功能

目录 一&#xff1a;基于授权的访问控制 1&#xff1a;基于授权的访问控制简介 2&#xff1a;基于授权的访问控制步骤 &#xff08;1&#xff09;使用htpasswd 生成用户认证文件 &#xff08;2&#xff09;修改密码文件权限为400&#xff0c;将所有者改为nginx&#xff0c;…

AnimateCC基础教学:漫天繁星-由DeepSeek辅助完成

1.界面及元件抓图: 2.核心代码: // 初始化设置 var stars []; var stars2 []; var numStars 100; var stageWidth stage.canvas.width; var stageHeight stage.canvas.height; console.log(stageWidth, stageHeight);// 创建星星函数 function createStar() {var star n…

通过DeepSeek大语言模型控制panda机械臂,听懂人话,拟人性回答。智能机械臂助手又进一步啦

文章目录 前言环境配置运行测试报错 前言 通过使用智能化的工作流控制系统来精确操控机械臂&#xff0c;不仅能够基于预设算法可靠地规划每个动作步骤的执行顺序和力度&#xff0c;确保作业流程的标准化和可重复性&#xff0c;还能通过模块化的程序设计思路灵活地在原有工作流中…

分享一款免费的 AI 工作流平台

分享一款 AI 工作流/任务流平台&#xff0c;通过直观的流程图设计&#xff0c;轻松实现复杂业务流程的自动化与可视化&#xff0c;无缝集成 AI 大模型、AI 生图、数据库、条件分支、并行节点、自定义任务节点等等。 效果图&#xff1a; 官网体验地址&#xff1a;https://www.…

前端开发本地配置 HTTPS 全面详细教程

分为两步&#xff1a;生成证书、本地服务配置使用证书一、HTTPS 的基本概念 HTTPS 是一种安全的 HTTP 协议&#xff0c;它通过 SSL/TLS 对数据进行加密&#xff0c;确保数据在传输过程中不被窃取或篡改。在前端开发中&#xff0c;某些功能&#xff08;如 Geolocation API、Web…

day10 python机器学习全流程实践

在机器学习的实践中&#xff0c;数据预处理与模型构建是极为关键的环节。本文将回顾数据预处理的全流程&#xff0c;并基于处理后的数据完成简单的机器学习建模与评估&#xff0c;暂不涉及复杂的调参过程。 一、预处理流程回顾 机器学习的成功&#xff0c;很大程度上依赖于高…

4月28号

初认web前端: web标准: HTML:

【Linux系统】systemV共享内存

system V共享内存 在Linux系统中&#xff0c;共享内存是一种高效的进程间通信&#xff08;IPC&#xff09;机制&#xff0c;它允许两个或者多个进程共享同一块物理内存区域&#xff0c;这些进程可以将这块区域映射到自己的虚拟地址空间中。 共享内存区是最快的IPC形式。一旦这…

(七)RestAPI 毛子(Http 缓存/乐观锁/Polly/Rate limiting/异步大文件上传)

文章目录 项目地址一、Http Cache1.1 服务注册1.2 Validation with ETag1. 添加ETagMiddleware中间件2. 创建内存ETag存储器3. 服务注册4. 测试二、使用ETag实现乐观锁2.1 添加乐观锁方法2.2 修改Controller2.3 测试乐观锁三、Rate Limiting3.1 添加速率控制服务1. 在Program里…

2025.4.26_STM32_SPI

1.SPI简介 2.硬件电路 所有SPI设备的SCK(时钟)、MOSI(主机输出从机输入)、MISO(主机输入从机输出)分别连在一起。SCK线只能被主机控制&#xff0c;和I2C相同。 主机另外引出多条SS控制线&#xff0c;分别接到各从机的SS引脚 (SS不用的时候为高电平&#xff0c;当主机需要选中某…

JAVA:单例模式

单例模式是设计模式之一 设计模式&#xff0c;就像古代打仗&#xff0c;我们都听过孙子兵法&#xff0c;把计谋概括下来弄成一种模式&#xff0c;形成一种套路。 软件开发中也有很多场景&#xff0c;多数类似的问题场景&#xff0c;解决方案就形成固定的模式&#xff0c;单例…

脑机接口:重塑人类未来的神经增强革命

引言 人类对大脑的探索从未停止&#xff0c;而脑机接口&#xff08;Brain-Computer Interface, BCI&#xff09;的崛起&#xff0c;正在将科幻电影中的“意念操控”变为现实。 这项技术通过解码脑电信号&#xff0c;实现人脑与外部设备的直接交互&#xff0c;不仅为医疗康复带来…

从SOA到微服务:架构演进之路与实践示例

一、架构演进背景 在软件开发领域&#xff0c;架构风格随着业务需求和技术发展不断演进。从早期的单体架构&#xff0c;到面向服务架构(SOA)&#xff0c;再到如今的微服务架构&#xff0c;每一次变革都是为了解决当时面临的核心问题。 二、SOA架构解析 2.1 SOA核心概念 SOA&…

可灵AI 2.0上线:重新定义AI创作?好莱坞级特效触手可及

2025年4月15日&#xff0c;快手正式发布可灵AI 2.0&#xff0c;这款被誉为“让好莱坞特效师颤抖”的AI工具&#xff0c;以物理引擎级动态生成和电影语言自由操控两大核心技术&#xff0c;彻底颠覆了内容创作的想象边界。上线24小时内&#xff0c;全球用户已用它生成超过100万条…

Mysql存储引擎、锁机制

Mysql存储引擎 InnoDB​&#xff08;MySQL 5.5 及以后版本中的默认存储引擎&#xff09; ​​事务支持​​&#xff1a;支持 ​​ACID 事务​​&#xff0c;适合需要高可靠性的场景&#xff08;如支付、订单&#xff09;。 ​​锁机制​​&#xff1a;默认使用 ​​行级锁​​…

飞蛾扑火算法优化+Transformer四模型回归打包(内含MFO-Transformer-LSTM及单独模型)

飞蛾扑火算法优化Transformer四模型回归打包&#xff08;内含MFO-Transformer-LSTM及单独模型&#xff09; 目录 飞蛾扑火算法优化Transformer四模型回归打包&#xff08;内含MFO-Transformer-LSTM及单独模型&#xff09;预测效果基本介绍程序设计参考资料 预测效果 基本介绍 …

音视频开发---视频编码基础

一、视频编码的必要性 1. 存储与传输成本高 未经编码压缩的原始视频的数据量极大,例如:一般电影的亮度信号采样频率为13.5MHz;色度信号的频带通常为亮度信号的一半或更少,为6.75MHz或3.375MHz。以4:2:2的采样频率为例,Y信号采用13.5MHz,色度信号U和V采用6.75MHz采样,…

手动安装OpenSSL1.1.1

根据报错信息 Could not build the ssl module! Python requires a OpenSSL 1.1.1 or newer&#xff0c;说明当前系统中的 OpenSSL 版本低于 1.1.1&#xff0c;或者 Python 编译时未找到符合要求的 OpenSSL 库。以下是分步解决方案&#xff1a; 1. 检查当前 OpenSSL 版本 首先…

[原创](现代Delphi 12指南):[macOS 64bit App开发]: 跨平台开发同样支持retain()引用计数器处理.

[作者] 常用网名: 猪头三 出生日期: 1981.XX.XX 企鹅交流: 643439947 个人网站: 80x86汇编小站 编程生涯: 2001年~至今[共24年] 职业生涯: 22年 开发语言: C/C++、80x86ASM、Object Pascal、Objective-C、C#、R、Python、PHP、Perl、 开发工具: Visual Studio、Delphi、XCode、…

从 “制造” 到 “品牌”:官网建设助力中国企业突围东南亚

在全球产业链重构与区域经济一体化的浪潮下&#xff0c;中国企业出海已从“战略选项”升级为“生存刚需”。东南亚市场因其地理邻近性、人口红利及政策开放性&#xff0c;成为许多中企出海的“首站试验田”。然而&#xff0c;如何在这一文化多元、竞争激烈的市场中建立品牌认知…