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 界面,会话保持)。

相关推荐
ybb_ymm9 小时前
mysql8在linux下的默认规则修改
linux·运维·数据库·mysql
半梦半醒*9 小时前
zabbix安装
linux·运维·前端·网络·zabbix
南尘NCA86669 小时前
企业微信防封防投诉拦截系统:从痛点解决到技术实现
java·网络·企业微信
怪兽201410 小时前
SQL优化手段有哪些
java·数据库·面试
ss27310 小时前
手写MyBatis第107弹:@MapperScan原理与SqlSessionTemplate线程安全机制
java·开发语言·后端·mybatis
Deschen11 小时前
设计模式-原型模式
java·设计模式·原型模式
麦麦鸡腿堡11 小时前
Java的动态绑定机制(重要)
java·开发语言·算法
それども11 小时前
SpringBootTest运行线程池被拒绝
java
武文斌7712 小时前
复习总结最终版:单片机
linux·单片机·嵌入式硬件·学习
驱动探索者12 小时前
贝尔实验室发展史:20世纪科技圣殿的辉煌与沉浮
linux