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

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

相关推荐
虾..6 小时前
Linux 软硬链接和动静态库
linux·运维·服务器
Evan芙7 小时前
Linux常见的日志服务管理的常见日志服务
linux·运维·服务器
hkhkhkhkh1238 小时前
Linux设备节点基础知识
linux·服务器·驱动开发
HZero.chen10 小时前
Linux字符串处理
linux·string
张童瑶10 小时前
Linux SSH隧道代理转发及多层转发
linux·运维·ssh
汪汪队立大功12310 小时前
什么是SELinux
linux
石小千10 小时前
Linux安装OpenProject
linux·运维
柏木乃一10 小时前
进程(2)进程概念与基本操作
linux·服务器·开发语言·性能优化·shell·进程
Lime-309010 小时前
制作Ubuntu 24.04-GPU服务器测试系统盘
linux·运维·ubuntu
百年渔翁_肯肯10 小时前
Linux 与 Unix 的核心区别(清晰对比版)
linux·运维·unix