Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,运行jsp和servlet,使用HTTP与客户端(通常是浏览器)进行通信。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选,因为Tomcat 技术先进、性能稳定,成为目前比较流行的Web 应用服务器。Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展,但它是独立运行的
HTTP服务器接收到请求之后把请求交给Servlet容器来处理,Servlet容器通过Servlet接⼝调⽤业务类。
Servlet接⼝和Servlet容器这⼀整套内容叫作Servlet规范。
Servlet容器有解耦的作用,避免Http服务器和业务类的直接耦合。
由于Tomcat根据Servlet规范实现了Servlet容器,同时它又具有Http服务器的功能,所以Tomcat拥有两个重要身份:
当用户请求某个URL资源时:
URL
和Servlet
的映射关系(必要的配置信息),找到对应的Servlet;init
方法来完成初始化;service
方法处理请求,将请求处理结果封装成ServletResponse对象,返回给Http服务器;Tomcat设计了两个核心组件连接器(Connector)和容器(Container)来完成Tomcat的两大核心功能:
Coyote是Tomcat连接器组件的名称,是对外的接口。客户端通过Coyote与服务端建立连接、发送请求并接受响应。
Coyote负责的是具体协议(应用层)和IO(传输层)**的相关内容:
[root@localhost ~]# iptables -F
[root@localhost ~]# setenforce 0
[root@localhost ~]# rz -E
rz waiting to receive.
[root@localhost ~]# ls
anaconda-ks.cfg 公共 文档
apache-tomcat-9.0.16.tar.gz 模板 下载
initial-setup-ks.cfg 视频 音乐
jdk-8u201-linux-x64.rpm 图片 桌面
[root@localhost ~]# java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
[root@localhost ~]# rpm -ivh jdk-8u201-linux-x64.rpm
[root@localhost jdk1.8.0_201-amd64]# pwd
/usr/java/jdk1.8.0_201-amd64
[root@localhost jdk1.8.0_201-amd64]# ls
bin man
COPYRIGHT README.html
include release
javafx-src.zip src.zip
jre THIRDPARTYLICENSEREADME-JAVAFX.txt
lib THIRDPARTYLICENSEREADME.txt
LICENSE
[root@localhost jdk1.8.0_201-amd64]# vim /etc/pro
profile profile.d/ protocols
[root@localhost jdk1.8.0_201-amd64]# vim /etc/profile
#末行添加
export JAVA_HOME=/usr/java/jbk1.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
#查看java版本
[root@localhost jdk1.8.0_201-amd64]# java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
[root@localhost ~]# ls
anaconda-ks.cfg jdk-8u201-linux-x64.rpm 视频 下载
apache-tomcat-9.0.16.tar.gz 公共 图片 音乐
initial-setup-ks.cfg 模板 文档 桌面
#将安装包移动到Tomcat目录到/usr/local下
[root@localhost ~]# tar zxvf apache-tomcat-9.0.16.tar.gz -C /usr/local
[root@localhost ~]# cd /usr/local/
[root@localhost local]# mv apache-tomcat-9.0.16/ tomcat
[root@localhost bin]# pwd
/usr/local/tomcat/bin
[root@localhost bin]# ls
bootstrap.jar makebase.sh
catalina.bat setclasspath.bat
catalina.sh setclasspath.sh
catalina-tasks.xml shutdown.bat
ciphers.bat shutdown.sh
ciphers.sh startup.bat
commons-daemon.jar startup.sh
commons-daemon-native.tar.gz tomcat-juli.jar
configtest.bat tomcat-native.tar.gz
configtest.sh tool-wrapper.bat
daemon.sh tool-wrapper.sh
digest.bat version.bat
digest.sh version.sh
makebase.bat
shutdown.s:控制服务关闭
startup.sh:控制服务开启
makebase.bat
[root@localhost bin]# ln -s /usr/local/tomcat/bin/startup.sh /usr/bin/
[root@localhost bin]# ln -s /usr/local/tomcat/bin/shutdown.sh /usr/bin/
[root@localhost bin]# startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/jdk1.8.0_201-amd64
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@localhost bin]# netstat -ntap | grep 8080
tcp6 0 0 :::8080 :::* LISTEN 14181/java
浏览器访问http://20.0.0.42:8080 访问会出现Tomcat默认界面
[root@localhost bin]# cd /usr/java/jdk1./8.0_201-amd64/jre/lib/se
curity/
[root@localhost security]# ls
blacklist java.policy policy
blacklisted.certs java.security trusted.libraries
cacerts javaws.policy
[root@localhost security]# vim java.security
#重启服务
root@localhost security]# startup.sh
[root@localhost ~]# ll /usr/local/tomcat/
总用量 124
drwxr-x---. 2 root root 4096 8月 14 14:53 bin #启动和关闭Tomcat脚本文件
-rw-r-----. 1 root root 19203 2月 5 2019 BUILDING.txt
drwx------. 3 root root 254 8月 14 14:57 conf #Tomcat服务器各种配置文件
-rw-r-----. 1 root root 6095 2月 5 2019 CONTRIBUTING.md
drwxr-x---. 2 root root 4096 8月 14 14:53 lib #Tomcat服务器的jar包
-rw-r-----. 1 root root 57092 2月 5 2019 LICENSE
drwxr-x---. 2 root root 197 8月 14 14:57 logs #Tomcat的日志
-rw-r-----. 1 root root 2333 2月 5 2019 NOTICE
-rw-r-----. 1 root root 3255 2月 5 2019 README.md
-rw-r-----. 1 root root 6854 2月 5 2019 RELEASE-NOTES
-rw-r-----. 1 root root 16262 2月 5 2019 RUNNING.txt
drwxr-x---. 2 root root 30 8月 14 14:53 temp #Tomcat运行时产生的文件
drwxr-x---. 7 root root 81 2月 5 2019 webapps #项目资源的目录
drwxr-x---. 3 root root 22 8月 14 14:57 work #工作目录:
虚拟web主机的定义:
●在同一台服务器中运行多个Web站点,其中每一个站点并不独立占用一台真正的计算机
虚拟Web主机指的是在同一台服务器中运行多个Web站点,其中的每一个站点实际上并不独自占用整个服务器,因此
被称为“虚拟Web主机”。 通过虚拟Web主机服务可以充分利用服务器的硬件资源,从而大大降低网站构建及运行成本。
5.2.1:步骤
创建shuai和lisi项目目录和文件
修改 Tomcat主配置文件
重启 Toma服务
测试:
drwxr-x---. 3 root root 22 8月 14 14:57 work
[root@localhost ~]# cd /usr/local/tomcat/webapps/
[root@localhost webapps]# mkdir shuai lisi
[root@localhost webapps]# ls
docs examples host-manager lisi manager ROOT shuai
[root@localhost webapps]# cd shuai/
[root@localhost shuai]# vim index.jsp
#编写首页信息
<h1>this is shuai web</h1>
[root@localhost shuai]# cd ../lisi/
[root@localhost lisi]# vim index.jsp
#编写lisi首页信息
<h1>this is lisi web</h1>
[root@localhost lisi]# yum -y install bind
[root@localhost lisi]# vim /etc/named.conf
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
[root@localhost lisi]# vim /etc/named.rfc1912.zones
zone "shuai.com" IN {
type master;
file "shuai.com.zone";
allow-update { none; };
};
zone "lisi.com" IN { type master;
file "lisi.com.zone";
allow-update { none; };
};
[root@localhost lisi]# cd /var/named/
[root@localhost named]# cp -p named.localhost shuai.com.zone
[root@localhost named]# vim shuai.com.zone
[root@localhost named]# cp -p shuai.com.zone lisi.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
www IN A 20.0.0.42
#重启服务
[root@localhost named]# systemctl restart named
[root@localhost bin]# cd /usr/local/tomcat/
[root@localhost tomcat]# cd conf/
[root@localhost conf]# ls
Catalina jaspic-providers.xml tomcat-users.xml
catalina.policy jaspic-providers.xsd tomcat-users.xsd
catalina.properties logging.properties web.xml
context.xml server.xml
[root@localhost conf]# vim server.xml
#G到末行
<Host name="www.shuai.com" appBase="/usr/local/tomcat/webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/usr/local/tomcat/webapps/shuai" path="" reloadable="true"/>
</Host>
<Host name="www.lisi.com" appBase="/usr/local/tomcat/webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/usr/local/tomcat/webapps/lisi" path="" reloadable="true"/>
</Host>
[root@localhost conf]# shutdown.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/jdk1.8.0_201-amd64
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[root@localhost conf]# startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/jdk1.8.0_201-amd64
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@localhost ~]# vim /usr/local/tomcat9/conf/server.xml
<Connector port="8080" protocol="HTTP/1.1" '//找到此段落'
connectionTimeout="20000"
redirectPort="8443" />
'//在 redirectPort="8443" 和/>中间添加以下段落'
minSpareThreads="50"
enableLookups="false"
disableUploadTimeout="true"
acceptCount="300"
maxThreads="500"
processorCache="500"
URIEncoding="UTF-8"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image/jpg,image/png"
[root@localhost ~]# shutdown.sh
[root@localhost ~]# startup.sh
win 10安装jdk java的环境
设置环境变量
3.测试环境
打开文件 选择桌面的压测工具
启动优化后
[root@localhost ~]# vim /usr/local/tomcat9/conf/server.xml
<Connector port="8080" protocol="HTTP/1.1" '//找到此段落'
connectionTimeout="20000"
redirectPort="8443" />
'//在 redirectPort="8443" 和/>中间添加以下段落'
minSpareThreads="50"
enableLookups="false"
disableUploadTimeout="true"
acceptCount="300"
maxThreads="500"
processorCache="500"
URIEncoding="UTF-8"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image/jpg,image/png"
#启动服务
[root@localhost ~]# shutdown.sh
[root@localhost ~]# startup.sh