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

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

宝塔安装

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

环境配置

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

本地测试环境连接

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

MySQL测试

同在Navicat创建数据库类似,先创建,再导入自己的 sql 文件;这个密码不需要记,如果忘记可直接查看,或者直接 root 一个新密码;

接下来在本地测试连接,配置 系统ip + 3306 端口号,并且把这个用户名和密码一同配置,这个很容易测试成功。

Redis

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

MinIO测试

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

bash 复制代码
mkdir minio
chmond 777 minio/
# 然后进入minio路径下
mkdir data
mkdir bin
chmod 777 data/
chmod 777 bin/
touch minio.log

下载minio:

bash 复制代码
wget https://dl.minio.io/server/minio/release/linux-amd64/minio

启动minio服务

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

bash 复制代码
# 先进入到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/bash

echo "Stopping minio"
pid=`ps -ef | grep 'minio server' | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -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 中添加一下配置:

java 复制代码
<!--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,用了大概三四天这个样子,又了解不少,哈哈。

最后我的域名还在申请中... 根据描述工信部还有一个星期的审核,再加上这个五一假期,难评,因为我还着急用呢,急着投简历呢。

相关推荐
听闻风很好吃11 分钟前
Redis性能优化终极指南:从原理到实战的深度调优策略
数据库·redis·性能优化
JiaHao汤12 分钟前
基于 SpringBoot 与 Redis 的缓存预热案例
spring boot·redis·缓存
霖鸣20 分钟前
Linux(权限管理)
linux·运维·服务器
2302_7995257420 分钟前
【Linux】第十五章 调度未来任务
linux·运维·服务器
Hello.Reader35 分钟前
Ubuntu 下 Nginx 1.28.0 源码编译安装与 systemd 管理全流程指南
linux·nginx·ubuntu
@t.t.1 小时前
Docker容器资源控制--CGroup
linux·运维·docker·容器·云计算
吴声子夜歌2 小时前
Linux运维——Vim基础
linux·运维·vim
左灯右行的爱情2 小时前
Redis 缓存并发问题深度解析:击穿、雪崩与穿透防治指南
java·数据库·redis·后端·缓存