tomcat
tomcat
java体系
- Java编程语言
- Java类文件:java类文件为java编译后的文件
- JavaAPI:java类文件库
- JavaVM(JVM)
- class loader:编译和类库文件加载器
- 执行引擎
JRE(Java Runtime Enviroment):
是Java的运行环境。面向Java程序的使用者,而不是开发者。如果你仅下载并安装了JRE,那么你的系统只能运行Java程序。JRE是运行Java程序所必须环境的集合,包含JVM标准实现及 Java核心类库。它包括Java虚拟机、Java平台核心类和支持文件。它不包含开发工具(编译器、调试器等)。
JDK(Java Development Kit):
又称J2SDK(Java2 Software Development Kit),是Java开发工具包,它提供了Java的开发环境(提供了编译器javac等工具,用于将java文件编译为class文件)和运行环境(提 供了JVM和Runtime辅助包,用于解析class文件使其得到运行)。如果你下载并安装了JDK,那么你不仅可以开发Java程序,也同时拥有了运 行Java程序的平台。JDK是整个Java的核心,包括了Java运行环境(JRE),一堆Java工具tools.jar和Java标准类库 (rt.jar)。
运行jsp的web容器
jsp技术将java代码嵌入html文件中,建立了一种动态网页的编写标准,它的技术基础是serverlet技术,当用户请求一个jsp文件时,jsp会将代码转换成serverlet(即标准的java代码),java代码再交由低层的jdk执行。常见的容器有websphere,weblogic,tomcat。
中间件
中间件(英语:Middleware):又译中间件、中介层,是一类提供系统软件和应用软件之间连接、便于软件各部件之间的沟通的软件,应用软件可以借助中间件在不同的技术架构之间共享信息与资源。中间件位于客户机服务器的操作系统之上,管理着计算资源和网络通信。 -- 维基百科
tomcat简介
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache 独立的进程单独运行的。
诀窍是,当配置正确时,Apache为HTML页面服务,而Tomcat 实际上运行JSP页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器.
tomcat是一个用来运行java的容器,是常用中间件之一
- tomcat组件
tomcat的安装及启动
//关闭防火墙和selinux上下文
[root@DR ~]# systemctl stop firewalld.service
[root@DR ~]# setenforce 0
//java环境安装
[root@DR ~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
[root@DR ~]# java -version
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (build 1.8.0_292-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)
//下载包
[root@DR ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-10/v10.0.6/bin/apache-tomcat-10.0.6.tar.gz
[root@DR ~]# tar xf apache-tomcat-10.0.6.tar.gz -C /usr/local/
[root@DR ~]# cd /usr/local/apache-tomcat-10.0.6/
[root@DR apache-tomcat-10.0.6]# bin/catalina.sh start
[root@DR apache-tomcat-10.0.6]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 1 [::ffff:127.0.0.1]:8005 *:*
LISTEN 0 100 *:8080 *:*
LISTEN 0 128 [::]:22 [::]:*
[root@DR apache-tomcat-10.0.6]# ps -ef|grep tomcat
root 2137 1 2 11:06 pts/1 00:00:06 /usr/bin/java -Djava.util.logging.config.file=/root/apache-tomcat-10.0.6/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 /root/apache-tomcat-10.0.6/bin/bootstrap.jar:/root/apache-tomcat-10.0.6/bin/tomcat-juli.jar -Dcatalina.base=/root/apache-tomcat-10.0.6 -Dcatalina.home=/root/apache-tomcat-10.0.6 -Djava.io.tmpdir=/root/apache-tomcat-10.0.6/temp org.apache.catalina.startup.Bootstrap start
root 2596 1967 0 11:10 pts/1 00:00:00 grep --color=auto tomcat
访问
部署测试网页
[root@DR apache-tomcat-10.0.6]# cd webapps/
//创建测试网页和目录
[root@DR webapps]# mkdir test
[root@DR webapps]# vim test/index.jsp
[root@DR webapps]# cat test/index.jsp
<html>
<head>
<title>test page</title>
</head>
<body>
<%
out.println("Hello World");
%>
</body>
</html>
//重启服务
[root@DR webapps]# cd
[root@DR ~]# ./apache-tomcat-10.0.6/bin/catalina.sh stop
[root@DR ~]# ./apache-tomcat-10.0.6/bin/catalina.sh start
测试访问
部分目录内容及配置
[root@DR apache-tomcat-10.0.6]# ll bin/
...
catalina.sh #tomcat服务控制
configtest.sh #配置文件测试
daemon.sh #守护进程
[root@DR apache-tomcat-10.0.6]# ll
total 132
drwxr-x--- 2 root root 4096 May 13 10:48 bin #二进程命令存放
-rw-r----- 1 root root 18975 May 8 23:24 BUILDING.txt
drwx------ 3 root root 254 May 13 11:49 conf #配置文件
-rw-r----- 1 root root 5644 May 8 23:24 CONTRIBUTING.md
drwxr-x--- 2 root root 4096 May 13 10:37 lib #库文件存放
-rw-r----- 1 root root 60269 May 8 23:24 LICENSE
drwxr-x--- 2 root root 132 May 13 11:06 logs #日志存放
-rw-r----- 1 root root 2333 May 8 23:24 NOTICE
-rw-r----- 1 root root 3372 May 8 23:24 README.md
-rw-r----- 1 root root 6904 May 8 23:24 RELEASE-NOTES
-rw-r----- 1 root root 16517 May 8 23:24 RUNNING.txt
drwxr-x--- 2 root root 30 May 13 10:37 temp
drwxr-x--- 7 root root 81 May 8 23:24 webapps #项目存放位置
drwxr-x--- 3 root root 22 May 13 11:06 work
[root@DR apache-tomcat-10.0.6]# vim conf/server.xml
...//控制端口协议
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
//AJP协议控制
-->
<!-- Define an AJP 1.3 Connector on port 8009 -->
<!--
<Connector protocol="AJP/1.3"
address="::1"
port="8009"
redirectPort="8443" />
-->
图形化管理界面配置
[root@DR apache-tomcat-10.0.6]# vim conf/tomcat-users.xml
...
<role rolename="manager-gui"/> #角色
<role rolename="admin-gui"/>
<user username="tomcat" password="123456" roles="manager-gui,admin-gui"/> #添加用户密码
</tomcat-users>
//添加允许访问ip段
[root@DR apache-tomcat-10.0.6]# vim webapps/host-manager/META-INF/context.xml
...
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="192\.168\.94\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />#放行192.168.94网段
[root@DR apache-tomcat-10.0.6]# vim webapps/manager/META-INF/context.xml
...
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="\d+\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> #放行所有网段
//重启服务
[root@DR apache-tomcat-10.0.6]# ./bin/catalina.sh stop
[root@DR apache-tomcat-10.0.6]# ./bin/catalina.sh start