【CentOS8】使用 Tomcat 部署 Java Web 项目(使用 sdkman)

发布于:2023-12-07 ⋅ 阅读:(197) ⋅ 点赞:(0)


我是使用 sdkman 下载的 jdktomcat,所以接下来的部署配置都是在 sdkman 构建的环境的。想要知道如何下载 sdkman 可以看看这篇文章 — 使用 SDKMAN 管理多版本本地 Java 环境—Centos8 & Windows

配置 Tomcat

# 下载 tomcat
sdk install tomcat xxx

# 授予权限
sudo chmod -R 775 /root/.sdkman/candidates/tomcat/

# 启动 tomcat--cenrrent 目录下
bin/startup.sh
# 将出现
Using CATALINA_BASE:   /root/.sdkman/candidates/tomcat/current
Using CATALINA_HOME:   /root/.sdkman/candidates/tomcat/current
Using CATALINA_TMPDIR: /root/.sdkman/candidates/tomcat/current/temp
Using JRE_HOME:        /root/.sdkman/candidates/java/current
Using CLASSPATH:       /root/.sdkman/candidates/tomcat/current/bin/bootstrap.jar:/root/.sdkman/candidates/tomcat/current/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.

# 本地访问默认为(有开启防火墙需要关闭防火墙或者开放 8080 端口) 8080-即本地 ip + :8080

# 关闭 tomcat--cenrrent 目录下
bin/shutdown.sh

这个时候我们就可以通过虚拟机 ip:8080 就可以看到 tomcat 服务的默认页面了
在这里插入图片描述
出现这个页面就算成功了。

将 Tomcat 启动命令设置为 Linux 自定义服务

不过,现在的 tomcat 需要我们自己到 tomcat 目录下使用它的 startup.shshutdown.sh 进行启动和关闭,这就很麻烦,所以我们接下来就将 tomcat 在 centos 中进行设置为 service 服务。

/etc/init.d/ 目录下新建文件,命名为 tomcat

touch /etc/init.d/tomcat

将以下内容粘贴到 tomcat 文件中

#!/bin/bash
# description: Tomcat7 Start Stop Restart
# processname: tomcat7
# chkconfig: 234 20 80
JAVA_HOME=/root/.sdkman/candidates/java/current
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CATALINA_HOME=/root/.sdkman/candidates/tomcat/current
case $1 in
start)
sh $CATALINA_HOME/bin/startup.sh
;;
stop)
sh $CATALINA_HOME/bin/shutdown.sh
;; 
restart)
sh $CATALINA_HOME/bin/shutdown.sh
sh $CATALINA_HOME/bin/startup.sh
;;   
esac 
exit 0

保存后设置 tomcat 的文件属性,将 tomcat 修改为可运行的文件

chmod a+x tomcat

# 设置服务运行级别
chkconfig --add tomcat

# 查看自定义服务
chkconfig --list

# 将出现
tomcat          0:关    1:关    2:开    3:开    4:开    5:关    6:关

# 可使用命令
service tomcat start
service tomcat stop
service tomcat restart

# 或则使用
systemctl start tomcat
systemctl stop tomcat
systemctl status tomcat

查看状态是这样的就算成功了!
在这里插入图片描述

给 Tomcat 设置管理员账号密码

完成这个操作以后,我们回到 tomcat 本身上来。一般来说,tomcat 管理页面是进不去的,这是因为我们还没有配置管理员账号密码。
在这里插入图片描述

# 停止 tomcat 服务
systemctl stop tomcat

# 修改配置文件
vi /current/conf/tomcat-users.xml

# 可以看到该文件基本上都是注释,我们只需要在最后(最后一个标签里)以下代码:
<role rolename="manager"/>  
<role rolename="manager-gui"/>  
<role rolename="admin"/>  
<role rolename="admin-gui"/>  
<role rolename="manager-script"/>  
<role rolename="manager-jmx"/>  
<role rolename="manager-status"/>  
<user username="admin" password="admin" roles="admin-gui,admin,manager-gui,manager,manager-script,manager-jmx,manager-status"/> 

# 进入 webapps/manager/META-INF/context.xml
# 注释以下内容
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
       allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->

# 启动服务
systemctl start tomcat

tomcat-users.xml 修改后应该是这样的:
在这里插入图片描述
context.xml 修改后应该是这样的
在这里插入图片描述
配置完成后,我们再次点击进去没有错误,显示这样的就没有错误
在这里插入图片描述

IDEA 打包 Java web 项目

在 IDEA 中打开需要部署的项目,这里需要注意下:本地 tomcat 的端口需要和虚拟机上的 tomcat 开放的端口一致,我这里因为我虚拟机中开放的端口是 8080,所以我在 IDEA 直接配置 8080 端口了。
在这里插入图片描述
配置好端口以后,接下来就直接打包项目了
在这里插入图片描述
选择以后会弹出一个选择框
在这里插入图片描述
打包以后会生成一个压缩包,这个就是我们打包以后的产物
在这里插入图片描述
将这个压缩包复制到虚拟机中的 webapps 中即可在这里插入图片描述
然后刷新一下 tomcat 服务页面,就可以看见我们刚才上传的打包产物了
在这里插入图片描述
最后,进入这个路径检查一下
在这里插入图片描述
成功!

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到