免费的、开放源代码的Web应用服务器
Apache软件基金会( Apache Software Foundation)Jakarta项目中的一个核心项目
由 Apache、Sun和一些公司及个人共同开发而成
深受Java爱好者的喜爱,并得到部分软件开发商的认可
是目前比较流行的Web应用服务器
核心组件:
●Web容器:完成Web服务器的功能
●Servlet容器:名字为catalina,用于处理Servlet代码
●JSP容器:用于将JSP动态网页翻译成Servlet代码
1.用户在浏览器中输入网址localhost:8080/test/index.jsp,请求被发送到本机端口8080,被在那里监听的Coyote HTTP/1.1 Connector获得;
2.Connector把该请求交给它所在的Service的Engine(Container)来处理,并等待Engine的回应;
3.Engine获得请求localhost/test/index.jsp,匹配所有的虚拟主机Host;
4.Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机),名为localhost的Host获得请求/test/index.jsp,匹配它所拥有的所有Context。Host匹配到路径为/test的Context(如果匹配不到就把该请求交给路径名为“ ”的Context去处理);
5.path=“/test”的Context获得请求/index.jsp,在它的mapping table中寻找出对应的Servlet。Context匹配到URL Pattern为*.jsp的Servlet,对应于JspServlet类;
6.构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet()或doPost(),执行业务逻辑、数据存储等;
7.Context把执行完之后的HttpServletResponse对象返回给Host;
8.Host把HttpServletResponse对象返回给Engine;
9.Engine把HttpServletResponse对象返回Connector;
10.Connector把HttpServletResponse对象返回给客户Browser
JDK是Java语言的软件开发工具包
JDK是Tomcat运行的必要环境
下载软件包后,将jdk软件包上传到/root下,安装jdk
[root@localhost ~]# rpm -ivh jdk-8u201-linux-x64.rpm
[root@localhost ~]# cd /usr/java/jdk1.8.0_201-amd64/
[root@localhost jdk1.8.0_201-amd64]# ll
[root@localhost jdk1.8.0_201-amd64]# vi /etc/profile
#最后一行添加#
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH
[root@localhost jdk1.8.0_201-amd64]# source /etc/profile
[root@localhost jdk1.8.0_201-amd64]# java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
将安装包上传到/root下
[root@localhost ~]# tar xf apache-tomcat-9.0.16.tar.gz
[root@localhost ~]# mv apache-tomcat-9.0.16 /usr/local/tomcat
[root@localhost ~]# /usr/local/tomcat/bin/startup.sh
[root@localhost ~]# vi /usr/java/jdk1.8.0_201-amd64/jre/lib/security/java.security
securerandom.source=file:/dev/urandom ##修改
[root@localhost ~]# /usr/local/tomcat/bin/shutdown.sh #关闭
[root@localhost ~]# /usr/local/tomcat/bin/startup.sh #开启
[root@localhost ~]# ll /usr/local/tomcat/
total 124
drwxr-x--- 2 root root 4096 Sep 8 03:31 bin
#存放启动和关闭Tomcat的脚本文件,比较常用的是catalina.sh,startup.sh,shutdown.sh三个文件#
-rw-r----- 1 root root 19203 Feb 5 2019 BUILDING.txt
drwx------ 3 root root 254 Sep 8 03:32 conf
#存放Tomcat服务器的各种配置文件,比较常用的是server.xml,contest.xml,tomcat-users.xml,web.xml四个文件#
-rw-r----- 1 root root 6095 Feb 5 2019 CONTRIBUTING.md
drwxr-x--- 2 root root 4096 Sep 8 03:31 lib
#存放Tomcat服务器的jar包,一般不做任何改动,除非连接第三方服务,比如redis,那就需要相应的jar包#
-rw-r----- 1 root root 57092 Feb 5 2019 LICENSE
drwxr-x--- 2 root root 197 Sep 8 03:32 logs
#存放Tomcat日志#
-rw-r----- 1 root root 2333 Feb 5 2019 NOTICE
-rw-r----- 1 root root 3255 Feb 5 2019 README.md
-rw-r----- 1 root root 6854 Feb 5 2019 RELEASE-NOTES
-rw-r----- 1 root root 16262 Feb 5 2019 RUNNING.txt
drwxr-x--- 2 root root 30 Sep 8 03:31 temp
#存放Tomcat运行时产生的文件#
drwxr-x--- 7 root root 81 Feb 5 2019 webapps
#存放项目资源的目录#
drwxr-x--- 3 root root 22 Sep 8 03:32 work
#Tomcat工作目录,一般清除Tomcat缓存的时候会用到#
有多个项目同时运行时,一台服务器不建议运行多个Tomcat服务,需要配置虚拟主机
通过两个域名访问到不同的项目内容
步骤:
●创建51xit和52xit项目目录和文件
●修改Tomcat主配置文件
●重启Tomcat服务
●访问测试
[root@localhost ~]# mkdir /usr/local/tomcat/webapps/51xit
[root@localhost ~]# echo "This is 51xit page!" > /usr/local/tomcat/webapps/51xit/index.jsp
[root@localhost ~]# mkdir /usr/local/tomcat/webapps/52xit
[root@localhost ~]# echo "This is 52xit page!" > /usr/local/tomcat/webapps/52xit/inde
[root@localhost ~]# vi /usr/local/tomcat/conf/server.xml
<Host name="www.51xit.top" appBase="/usr/local/tomcat/webapps"
unpackWARs="true" autoDeploy="true" xmlValidation="false"
xmlNamespaceAware="false">
<Context docBase="/usr/local/tomcat/webapps/51xit"
path="" reloadable="true" />
</Host>
<Host name="www.52xit.top" appBase="/usr/local/tomcat/webapps"
unpackWARs="true" autoDeploy="true" xmlValidation="false"
xmlNamespaceAware="false">
<Context docBase="/usr/local/tomcat/webapps/52xit"
path="" reloadable="true" />
</Host>
[root@localhost ~]# /usr/local/tomcat/bin/shutdown.sh
[root@localhost ~]# /usr/local/tomcat/bin/startup.sh
客户端hosts文件中绑定两个域名
◆20.0.0.25 www.51xit.top www.52xit.top
浏览器输入:
●http://www.51xit.top:8080
●http://www.52xit.top:8080
操作系统优化(内核参数优化)
Tomcat配置文件参数优化