Tomcat部署及优化

作者 : admin 本文共2844个字,预计阅读时间需要8分钟 发布时间: 2024-06-10 共3人阅读

一.Tomcat概念

1.Tomcat介绍
  • 免费的、开放源代码的Web应用服务器
  • Apache软件基金会(Apache Software Foundation)Jakarta项目中的一个核心项目
  • 由Apache、Sun和一些公司及个人共同开发而成
  • 深受Java爱好者的喜爱,并得到部分软件开发商的认可
  • 目前比较流行的Web应用服务器
  • Tomcat部署及优化插图
2.Tomcat核心组件
  • Web 容器:完成 Web 服务器的功能
  • Servlet 容器:名字为 catalina,用于处理 Servlet 代码
  • JSP 容器:用于将 JSP 动态网页翻译成 Servlet 代码

Tomcat部署及优化插图(1)

Servlet :是Java Servlet 的简称,可以理解为是一个服务连接器,是用 Java 编写的服务器端程序,具有独立于平台和协议的特性, 简单的理解:servlet 就是一个中间件,包含了接口和方法,将客户端和数据库连接,从而实现动态网页的创建

JSP:全称 Java Server Pages,是一种动态网页开发技术。它使用 JSP 标签在HTML网页中插入 Java 代码。标签通常以 结束。JSP 是一种 Java servlet,主要用于实现 Java web 应用程序的用户界面部分。JSP 通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。

 3.Tomcat组件结构

Tomcat 的核心功能有两个,分别是负责接收和反馈外部请求的连接器 Connector,和负责处理请求的容器 Container。 其中连接器和容器相辅相成,一起构成了基本的 web 服务 Service。每个 Tomcat 服务器可以管理多个 Service。

Tomcat部署及优化插图(2)

  • Connector:负责对外接收和响应请求。它是Tomcat与外界的交通枢纽,监听端口接收外界请求,并将请求处理后传递给容器做业务处理,最后将容器处理后的结果响应给外界。
  • Container:负责对内处理业务逻辑。其内部由 Engine、Host、Context和Wrapper 四个容器组成,用于管理和调用 Servlet 相关逻辑。
  • Service:对外提供的 Web 服务。主要包含 Connector 和 Container 两个核心组件,以及其他功能组件。Tomcat 可以管理多个 Service,且各 Service 之间相互独立。 
4.Tomcat请求处理过程 
  1. 用户在浏览器中输入网址,请求被发送到本机端口 8080,被在那里监听的 Connector 获得;
  2. Connector 把该请求交给它所在的 Service 的 Engine(Container)来处理,并等待 Engine 的回应;
  3. 请求在 Engine、Host、Context 和 Wrapper 这四个容器之间层层调用,最后在 Servlet 中执行对应的业务逻辑、数据存储等;
  4. 执行完之后的请求响应在 Context、Host、Engine 容器之间层层返回,最后返回给 Connector,并通过 Connector 返回给客户端。

Tomcat部署及优化插图(3)

二.Tomcat安装部署 

1.关闭防火墙操作

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

2.安装JDK

cd /opt
tar xf jdk-8u391-linux-x64.tar    #tar解压缩jdk软件包
mv jdk-8u391-linux-64 /usr/local   #将解压完的软件包移动到/usr/local目录下
java -version #显示java运行版本

Tomcat部署及优化插图(4) 

3.设置JDK环境变量

vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH


source /etc/profile.d/java.sh
java -version

编写java文件以验证

Tomcat部署及优化插图(5)

public class Hello {
   public static void main(String[] args){
        System.out.println("Hello world");
   }
}

Tomcat部署及优化插图(6) 

 4.安装启动Tomcat

cd /opt
tar zxvf apache-tomcat-9.0.16.tar.gz
mv apache-tomcat-9.0.16 /usr/local/tomcat


#后台启动
/usr/local/tomcat/bin/startup.sh 
或
/usr/local/tomcat/bin/catalina.sh start

Tomcat部署及优化插图(7) 

 三.Tomcat虚拟主机配置

很多时候公司会有多个项目需要运行,一般不会是在一台服务器上运行多个 Tomcat 服务,这样会消耗太多的系统资源。此时, 就需要使用到 Tomcat 虚拟主机。
例如现在新增两个域名 www.xy101.com 和 www.xy102.com, 希望通过这两个域名访问到不同的项目内容。

1.创建 xy101 和 xy102 项目目录和文件

mkdir /usr/local/tomcat/webapps/xy101
mkdir /usr/local/tomcat/webapps/xy102
echo "This is xy101 page\!" > /usr/local/tomcat/webapps/xy101/index.jsp
echo "This is xy102 page\!" > /usr/local/tomcat/webapps/xy102/index.jsp

2.修改 Tomcat 主配置文件 server.xml

vim /usr/local/tomcat/conf/server.xml
--165行前--插入

	



	

3.重启Tomcat,进行验证

Tomcat部署及优化插图(8) 

四.Tomcat优化

1.配置文件优化

修改tomcat主配置文件 server.xml 中的连接器配置 

maxThreads(最大线程数/并发数)   processorCache(进程缓冲数)   acceptCount(等待队列数)   connectionTimeout(连接保持超时时间)   maxKeepAliveRequests(连接保持最大请求数)
           通常为1000                          同maxThreads             小于等于maxThreads               通常为20000或30000                       通常为100

minSpareThreads(最小空闲线程数)   enableLookups(关闭DNS反向查询)   URIEncoding(网页字符集编码)   compression(网页压缩)   disableUploadTimeout(关闭上传超时)
                通常为100                       通常为false                    通常为UTF-8                   通常为on                         通常为true

2.系统内核优化

/etc/security/limits.conf   内核资源限制文件
* 	soft 	noproc			65535         打开系统进程数
* 	hard 	noproc			65535
* 	soft 	nofile			65535         进程打开文件数
* 	hard 	nofile			65535

 

 

本站无任何商业行为
个人在线分享 » Tomcat部署及优化
E-->