服务(第九篇)tomcat的部署和优化

tomcat的介绍:

免费的、开放源代码的Web应用服务器(用java开发的)

Apache软件基金会(Apache Software Foundation)Jakarta项目中的一个核心项目

由Apache、Sun和一些公司及个人共同开发而成

深受Java爱好者的喜爱,并得到部分软件开发商的认可

目前比较流行的Web应用服务器

tomcat的核心组件结构:

①connector:主要用于接受客户的请求和回复响应,讲请求转发给后端的容器处理;

②container:负责对内处理逻辑请求;内部用四个容器组成:Engine、Host、Context和Mrapper

container的四个容器:

①engine(引擎):管理多个虚拟主机,一个 Service 最多只能有一个 Engine;

②host:一个虚拟主机,也可以叫站点,通过配置 ost 就可以添加站点;

③context:代表一个 Web 应用,包含多个 servlet 封装器;

④Wrapper: 装器,容器的最底层;负责对象实例的创建、执行和销毁功能。

Tomcat 请求过程:
1、用户在浏览器中输入网址,请求被发送到本机端口 8080,被在那里监听的 Connector 获得;
2、Connector 把该请求交给它所在的 Service 的 Engine(Container)来处理,并等待 Engine 的回应;
3、请求在 Engine、Host、Context 和 Wrapper 这四个容器之间层层调用,最后在 Servlet 中执行对应的业务逻辑、数据存储等。
4、执行完之后的请求响应在 Context、Host、Engine 容器之间层层返回,最后返回给 Connector,并通过 Connector 返回给客户端。
 

部署tomcat:

①前期准备工作:关闭非防火墙和selinux机制,安装包拖进来(jdk的包和appche-tomccat的包)

②安装jdk:rpm -ivh jdk-xxx-xxx-xxx.rpm

③设置jdk环境:vim /etc/profile.d/java.sh  最后source /etc/profile.d/java.sh

 ④安装启动tomcat:

cd /opt→ tar zxvf 包 →mv apache-tomcat-xxx /usr/local/tomcat

cd  /usr/local/tomcat/bin →./startup.sh

netstat -antup | grep 8080查看端口是否在

⑤添加service服务怎么添加:vim /usr/lib/systemd/system/tomcat.service
[Unit]
Description=tomcat server
Wants=network-online.target
After=network.target
[Service]
Type=forking
Environment="JAVA_HOME=/usr/java/jdk1.8.0_201-amd64"
Environment="PATH=$JAVA_HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
Environment="CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar"
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
Restart=on-failure
[Install]WantedBy=multi-user.target

虚拟主机(添加两个host和context不同的域名):

1\tomcat的主配置文件是vim /usr/local/tomcat/conf/server.xml

2\在165行添加:

<Host name="www.kgc.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
    <Context docBase="/usr/local/tomcat/webapps/kgc(这里是根目录!!!)" path="" reloadable="true" />
</Host>

3\在webapps目录中创建kgc目录里面添加文件(格式为jsp结尾的文件)

4\改完后cd  /usr/local/tomcat/bin →./startup.sh

tomcat的优化:

①maxThreads:Tomcat可创建的最大的线程数,默认值是 200;

②minSpareThreads:最小空闲线程数,默认值是 10;

③maxSpareThreads:最大空闲线程数,默认值是-1(无限制);

④URIEncoding:URL 编码格式,一般采用UTF-8;

⑤enableLookups:不反查域名,设置为 false;

⑥connnectionTimeout:网络连接超时,单位:毫秒,默认 20000 毫秒;

⑦disableUploadTimeout:上传时是否使用超时机制,应设置为 true;

⑧connectionUploadTimeout:上传超时时间;

⑨acceptCount:连接等待,默认为 100;

⑩maxKeepAliveRequests:一个长连接的最大请求数,1,代表关闭长连接,-1,代表请求数无限制;

⑪compression:是否数据进行GZIP压缩;

⑫compressionMinSize:压缩响应的最小值,默认2048;

⑬compressableMimeType:压缩类型;

⑭noCompressionUserAgents="gozilla, traviata":哪些浏览器不启用压缩。

Tomcat多实例部署:

①mkdir /usr/local/tomcat→ cp -a /tomcat1 /tomcat2 

 ②配置 tomcat 环境变量vim /etc/profile.d/tomcat.sh 最后source /etc/profile.d/tomcat.sh

 ③修改tomcat2的conf(因为端口不能同时使用相同的):vim /usr/local/tomcat/tomcat2/conf/server.xml

 ④修改各 tomcat 实例中的 startup.sh 和 shutdown.sh 文件,添加 tomcat 环境变量

vim /usr/local/tomcat/tomcat1/bin/startup.sh 

vim /usr/local/tomcat/tomcat1/bin/shutdown.sh 

vim /usr/local/tomcat/tomcat2/bin/startup.sh 

vim /usr/local/tomcat/tomcat2/bin/shutdown.sh 

 ⑤启动各 tomcat 中的 /bin/startup.sh 
/usr/local/tomcat/tomcat1/bin/startup.sh 
/usr/local/tomcat/tomcat2/bin/startup.sh 

⑥netstat -natp | grep java

 如果出来这张图片就对了!!

测试网页:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值