Tomcat 简介与 Linux 环境部署

Tomcat 简介与 Linux 环境部署

一、Tomcat 简介

Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。

  • 可认为:配置好 Apache 服务器后,Apache 响应 HTML 页面访问请求;Tomcat 是 Apache 服务器的扩展,但运行时独立进程运行。
  • 核心定位:免费开源的 Servlet 容器,用于运行 Java 程序,是开发和调试 Servlet、JSP 程序的首选。
  • 依赖环境:Tomcat 本身是运行 Java 程序的容器,其运行依赖 JDK 环境。

常见中间件选型

  • 本地开发、小项目/个人开发:Tomcat
  • Linux 系统:jetty 或 apache httpd
  • 大型项目:JBOSS 或 WebLogic
  • 大项目/商业项目:WebLogic/WebSphere(其他还有 jboss、glasshfish 等)
  • 示例项目/小项目:jetty
  • 常规项目:Tomcat 即可满足需求

二、实操部署步骤

1. 关闭防火墙和 selinux

(注:原始实操未细分临时/永久关闭,按原始指令执行)

2. 安装 java

bash 复制代码
[root@hrz1 ~]# yum -y install java-11-openjdk

3. 解压 tomcat 到 /usr/local/ 目录下

bash 复制代码
[root@hrz1 ~]# tar -xzf apache-tomcat-10.0.23.tar.gz  -C /usr/local/
[root@hrz1 ~]# cd /usr/local/
[root@hrz1 local]# ln -s apache-tomcat-10.0.23/ tomcat

4. 自定义 Hello World 的 Java 测试网页

bash 复制代码
[root@hrz1 local]# mkdir /usr/local/tomcat/webapps/test
[root@hrz1 local]# cd /usr/local/tomcat/webapps/test 
[root@hrz1 test]#  vim index.jsp

index.jsp 中写入以下内容:

jsp 复制代码
<html>

<head>
        <title>test.page</title>
</head>

<body>

<h1>Hello world</h1>

</body>
</html>

5. 启动 tomcat

bash 复制代码
[root@hrz1 test]# cd /usr/local/tomcat      
[root@hrz1 tomcat]# bin/startup.sh 
# 验证 tomcat 进程
[root@hrz1 tomcat]# ps  -ef  | grep  tomcat

(执行后应显示类似以下进程信息)

复制代码
root      70048      1  0 11:11 pts/0    00:00:04 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root      70141   9738  0 11:19 pts/0    00:00:00 grep --color=auto tomcat

6. 测试访问

7. 配置并访问 Host Manager 界面

直接点击会有提示操作

步骤1:修改 tomcat-users.xml 文件
bash 复制代码
[root@hrz1 tomcat]# vim /usr/local/tomcat/conf/tomcat-users.xml 

</tomcat-users> 行上面添加以下内容(角色名固定为 admin-gui,用户名/密码自定义):

xml 复制代码
  <user username="tomcat" password="123456" roles="admin-gui"/>
</tomcat-users>
步骤2:修改 host-manager 的 context.xml 文件
bash 复制代码
[root@hrz1 tomcat]# vim /usr/local/tomcat/webapps/host-manager/META-INF/context.xml 

确保 Valve 标签内容为:

xml 复制代码
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="192\.168\.100\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
步骤3:重启 tomcat
bash 复制代码
[root@hrz1 tomcat]# /usr/local/tomcat/bin/catalina.sh stop
[root@hrz1 tomcat]# /usr/local/tomcat/bin/catalina.sh start
步骤4:登录测试

访问 Host Manager 界面,输入用户名 tomcat、密码 123456 登录。

8. 配置并访问 Server Status

步骤1:修改 tomcat-users.xml 文件
bash 复制代码
[root@hrz1 tomcat]# vim /usr/local/tomcat/conf/tomcat-users.xml 

</tomcat-users> 行上面添加以下内容:

xml 复制代码
  <role rolename="admin-gui"/>
  <role rolename="manager-gui"/>
  <user username="tomcat" password="123456" roles="admin-gui,manager-gui"/>
</tomcat-users>
步骤2:修改 manager 的 context.xml 文件
bash 复制代码
[root@hrz1 tomcat]# vim /usr/local/tomcat/webapps/manager/META-INF/context.xml 

确保 Valve 标签内容为:

xml 复制代码
 <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="192\.168\.100\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
步骤3:重启 tomcat
bash 复制代码
[root@hrz1 tomcat]# /usr/local/tomcat/bin/catalina.sh stop 
[root@hrz1 tomcat]# /usr/local/tomcat/bin/catalina.sh start
步骤4:登录测试

访问 Server Status 界面,输入用户名 tomcat、密码 123456 登录。

9. 访问 Manager App

访问 Manager App 时无需重复输入密码(因已登录 Server Status 界面,会话保持)。

户名 tomcat、密码 123456 登录。

外链图片转存中...(img-dsAVceY8-1758700258457)

9. 访问 Manager App

访问 Manager App 时无需重复输入密码(因已登录 Server Status 界面,会话保持)。

相关推荐
Shadow(⊙o⊙)4 分钟前
Linux网络——文件与网络的连接桥梁struct sock {
linux·运维·网络
凯尔萨厮10 分钟前
Java学习笔记十五(GUI)
java·笔记·学习
新时代牛马16 分钟前
Linux 性能调优与追踪完整篇:ftrace、perf、eBPF从采样到落地验证
linux·运维·服务器
落木萧萧82517 分钟前
MyBatis 关联查询的四种写法,为什么最后都变回了手写 XML
java·数据库·后端
csdn2015_18 分钟前
java springboot项目,接收到的参数多个逗号
java·开发语言·spring boot
cui_hao_nan19 分钟前
Spring AOP 自调用、代理与 private 方法引发的诡异 NPE
java·后端·spring·ai开发
sunoo-22924 分钟前
【网络编程 + 数据库】select 与 epoll 核心区别详解 + SQLite 入门到 C 接口全攻略
linux·网络·数据库·vscode·学习·sqlite
码艺-Alimjan28 分钟前
维吾尔语数字转文本
java·javascript·python·算法·go
zbyyd29 分钟前
Linux 系统编程 :select/epoll 多路复用与 SQLite 数据库实战
linux·数据库·sqlite
事圆则缓35 分钟前
Java 常见数据结构与 Android 使用场景
android·java·数据结构