tomcat
Posted 吻如雪上霜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat相关的知识,希望对你有一定的参考价值。
1. tomcat简介
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
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最新版本为9.0。
tomcat就是传说中的中间件之一,tomcat本身是一个容器,专门用来运行java程序,java语言开发的网页.jsp就应该运行于tomcat中。而tomcat本身的运行也依赖于jdk环境。
- tomcat应用场景:lnmt
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项目部署
//关闭防火墙与selinux0
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
java环境安装
//安装jdk环境
[root@localhost ~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
.....安装过程略
//查看安装的版本
[root@localhost ~]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
//下载tomcat并安装
[root@localhost ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-10/v10.0.6/bin/apache-tomcat-10.0.6.tar.gz
[root@localhost ~]# cd /usr/src/
[root@localhost src]# ls
apache-tomcat-10.0.6.tar.gz debug kernels
[root@localhost src]# tar xf apache-tomcat-10.0.6.tar.gz
[root@localhost src]# ls
apache-tomcat-10.0.6 apache-tomcat-10.0.6.tar.gz debug kernels
[root@localhost src]# cd apache-tomcat-10.0.6
[root@localhost apache-tomcat-10.0.6]# pwd
/usr/src/apache-tomcat-10.0.6
[root@localhost apache-tomcat-10.0.6]# ls
bin conf lib logs README.md RUNNING.txt webapps
BUILDING.txt CONTRIBUTING.md LICENSE NOTICE RELEASE-NOTES temp work
[root@localhost apache-tomcat-10.0.6]# bin/startup.sh
Using CATALINA_BASE: /usr/src/apache-tomcat-10.0.6
Using CATALINA_HOME: /usr/src/apache-tomcat-10.0.6
Using CATALINA_TMPDIR: /usr/src/apache-tomcat-10.0.6/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/src/apache-tomcat-10.0.6/bin/bootstrap.jar:/usr/src/apache-tomcat-10.0.6/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
[root@localhost 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 100 *:8080 *:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 1 [::ffff:127.0.0.1]:8005
//创建一个hello world的java项目网页和目录
[root@localhost apache-tomcat-10.0.6]# cd webapps/
[root@localhost webapps]# mkdir test
[root@localhost webapps]# vim test/index.jsp
<html>
<head>
<title>test page</title>
</head>
<body>
<%
out.println("Hello World");
%>
</body>
</html>
//重启服务
[root@localhost webapps]# cd
[root@localhost ~]# ./apache-tomcat-10.0.6/bin/catalina.sh stop
[root@localhost ~]# ./apache-tomcat-10.0.6/bin/catalina.sh start
//目录内容与配置文件
[root@localhost apache-tomcat-10.0.6]# ll bin/
...
catalina.sh #tomcat服务控制
configtest.sh #配置文件测试
daemon.sh #守护进程
[root@localhost apache-tomcat-10.0.6]# ll
total 132
localhostwxr-x--- 2 root root 4096 May 13 10:48 bin #二进程命令存放
-rw-r----- 1 root root 18975 May 8 23:24 BUILDING.txt
localhostwx------ 3 root root 254 May 13 11:49 conf #配置文件
-rw-r----- 1 root root 5644 May 8 23:24 CONTRIBUTING.md
localhostwxr-x--- 2 root root 4096 May 13 10:37 lib #库文件存放
-rw-r----- 1 root root 60269 May 8 23:24 LICENSE
localhostwxr-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
localhostwxr-x--- 2 root root 30 May 13 10:37 temp
localhostwxr-x--- 7 root root 81 May 8 23:24 webapps #项目存放位置
localhostwxr-x--- 3 root root 22 May 13 11:06 work
[root@localhost 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"
adlocalhostess="::1"
port="8009"
redirectPort="8443" />
-->
//图形化管理界面配置
[root@localhost apache-tomcat-10.0.6]# vim conf/tomcat-users.xml
...
<role rolename="manager-eula"/> #添加角色
<user username="tomcat" password="123456" roles="manager-eula"/> #添加用户密码
</tomcat-users>
//添加允许访问ip段
[root@localhost apache-tomcat-10.0.6]# vim webapps/host-manager/META-INF/context.xml
...
<Valve className="org.apache.catalina.valves.RemoteAdlocalhostValve"
allow="192\\.168\\.23\\.\\d+|127\\.\\d+\\.\\d+\\.\\d+|::1|0:0:0:0:0:0:0:1" /> #放行192.168.23整个网段
tomcat启动和关闭的方式都可以用目录里的脚本进行操作
//其中shutdown.sh、startup.sh、catalina.sh这三个脚本用来控制启动,关闭tomcat的
[root@localhost bin]# ls
bootstrap.jar commons-daemon.jar digest.sh setclasspath.sh tomcat-native.tar.gz
catalina.bat commons-daemon-native.tar.gz makebase.bat shutdown.bat tool-wrapper.bat
catalina.sh configtest.bat makebase.sh shutdown.sh tool-wrapper.sh
catalina-tasks.xml configtest.sh migrate.bat startup.bat version.bat
ciphers.bat daemon.sh migrate.sh startup.sh version.sh
ciphers.sh digest.bat setclasspath.bat tomcat-juli.jar
//具体操作如下
[root@localhost apache-tomcat-10.0.6]# bin/catalina.sh stop
Using CATALINA_BASE: /usr/src/apache-tomcat-10.0.6
Using CATALINA_HOME: /usr/src/apache-tomcat-10.0.6
Using CATALINA_TMPDIR: /usr/src/apache-tomcat-10.0.6/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/src/apache-tomcat-10.0.6/bin/bootstrap.jar:/usr/src/apache-tomcat-10.0.6/bin/tomcat-juli.jar
Using CATALINA_OPTS:
[root@localhost 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 128 [::]:22 [::]:*
[root@localhost apache-tomcat-10.0.6]# bin/catalina.sh start
Using CATALINA_BASE: /usr/src/apache-tomcat-10.0.6
Using CATALINA_HOME: /usr/src/apache-tomcat-10.0.6
Using CATALINA_TMPDIR: /usr/src/apache-tomcat-10.0.6/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/src/apache-tomcat-10.0.6/bin/bootstrap.jar:/usr/src/apache-tomcat-10.0.6/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
[root@localhost 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 128 [::]:22 [::]:*
LISTEN 0 1 [::ffff:127.0.0.1]:8005 *:*
LISTEN 0 100 *:8080 *:*
//你也可以使用shutdown.sh、 startup.sh
[root@localhost apache-tomcat-10.0.6]# bin/shutdown.sh
Using CATALINA_BASE: /usr/src/apache-tomcat-10.0.6
Using CATALINA_HOME: /usr/src/apache-tomcat-10.0.6
Using CATALINA_TMPDIR: /usr/src/apache-tomcat-10.0.6/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/src/apache-tomcat-10.0.6/bin/bootstrap.jar:/usr/src/apache-tomcat-10.0.6/bin/tomcat-juli.jar
Using CATALINA_OPTS:
[root@localhost 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 128 [::]:22 [::]:*
[root@localhost apache-tomcat-10.0.6]# bin/startup.sh
Using CATALINA_BASE: /usr/src/apache-tomcat-10.0.6
Using CATALINA_HOME: /usr/src/apache-tomcat-10.0.6
Using CATALINA_TMPDIR: /usr/src/apache-tomcat-10.0.6/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/src/apache-tomcat-10.0.6/bin/bootstrap.jar:/usr/src/apache-tomcat-10.0.6/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
[root@localhost 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 128 [::]:22 [::]:*
LISTEN 0 1 [::ffff:127.0.0.1]:8005 *:*
LISTEN 0 100 *:8080 *:*
-
点击Host Manager
-
输入刚才配置的用户名与密码
-
现在可以进入管理界面
以上是关于tomcat的主要内容,如果未能解决你的问题,请参考以下文章
jsp页面被tomcat引擎运行的时候组装成java片段,但是这些java片段怎么没有main方法作为程序的入口啊?