Tomcat 服务器的部署

2023-05-16

前言

目录

前言

一、Tomcat介绍

二、Tomcat组件

 三、Tomcat部署步骤

 Tomcat各目录

四、Tomcat 优化


Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。一般来说,Tomcat虽然和Apache或者Nginx这些Web服务器一样,具有处理HTML页面的功能,然而由于其处理静态HTML的能力远不及Apache或者Nginx,所以Tomcat通常是作为一个Servlet和JSP容器,单独运行在后端。

一、Tomcat介绍

1、免费的、开放源代码的Web应用服务器
2、Apache软件基金会(Apache Software Foundation)Jakarta项目中的一个核心项目
3、由Apache、Sun和一些公司及个人共同开发而成
4、深受Java爱好者的喜爱,并得到部分软件开发商的认可
5、目前比较流行的Web应用服务器
 

二、Tomcat组件

Tomcat由一系列的组件构成,其中核心的组件有三个:
(1)、Web容器:完成Web服务器的功能。
(2)、 Servlet 容器:名字为catalina, 用于处理Servlet代码。
(3) 、JSP容器:用于将JSP动态网页翻译成Servlet代码。

JavaServlet 是运行在Web服务器或应用服务器上的程序,它是作为来自web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库或应用程序之间的中间层。使用Servlet,可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。与CGI (公共网关接口)功能相类似。

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

 

 三、Tomcat部署步骤

  • 下载并安装JDK
  • 安装并启动 Tomcat
  • 配置虚拟主机

在部署 Tomcat 之前必须安装好 jdk,因为 jdk 是 Tomcat 运行的必要环境。

 1、关闭防火墙,将安装 Tomcat 所需软件包上传到 /opt 目录下

systemctl stop firewalld.service 
systemctl disable firewalld.service 
setenforce 0
#关闭防火墙

cd /root/gongxiang
cp jdk-8u201-linux-x64.rpm /root/
cp apache-tomcat-9.0.16.tar.gz /root/
cd /root
rpm -ivh jdk-8u201-linux-x64.rpm
#移动并安装jdk

2、设置 JDK 环境变量

echo "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" >> /etc/profile
cd /usr/java/jdk1.8.0_201-amd64
source /etc/profile
#设置JDK的环境变量并加载

3、解包移动并做两条软连接

cd /root
tar zxvf apache-tomcat-9.0.16.tar.gz -C /opt/
cd /opt
mv apache-tomcat-9.0.16/ /usr/local/tomcat
#解包并移动

ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/
ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin/
#做两条软连接便于系统识别

3验证是否安装成功

startup.sh 
netstat -natp | grep  8080
echo "打开浏览器查看是否启动成功"
#启动Tomcat

 Tomcat各目录

●bin :存放启动和关闭Tomcat 的脚本文件,比较常用的是catalina. sh、startup.sh、 shutdown.sh 三个文件
●conf :存放Tomcat 服务器的各种配置文件,比较常用的是server. xml、context . xml、tomcat-users.xml、 web. xml 四个文件.
●lib :存放Tomcat服务器的 jar 包,一 般不作任何改动,除非连接第三方服务,比如redis, 那就需要添加相对应的jar包
●logs :存放Tomcat 日志
●temp :存放Tomcat 运行时产生的文件
●webapps :存放项目资源的目录
●work:Tomcat 工作目录,一般清除 Tomcat 缓存的时候会使用到
 

四、Tomcat 优化

常用的优化相关参数如下:

【 maxThreads 】 Tomcat 使用线程来处理接收的每个请求,这个值表示Tomcat 可创建的最大的线程数,默认值是200。

【 minSpareThreads 】最小空闲线程数,Tomcat 启动时的初始化的线程数,表示即使没有人使用也开这么多空线程等待,默认值是10。

【 maxSpareThreads 】最大备用线程数,一旦创建的线程超过这个值,Tomcat 就会关闭不再需要的socket 线程。默认值是-1 ( 无限制)。一般不需要指定。

【 URIEncoding 】指定 Tomcat 容器的 URL 编码格式,语言编码格式这块倒不如其它 Web 服务器软件配置方便,需要分别指定。

【 connnectionTimeout 】网络连接超时,单位:亳秒,设置为 0 表示永不超时,这样设置有隐患的。通常默认20000亳秒就可以。

【 enableLookups 】是否反查域名,以返回远程主机的主机名,取值为: true 或 false, 如果设置为false, 则直接返回IP 地址,为了提高处理能力,应设置为false。

【disableUploadTimeout 】上传时是否使用超时机制。应设置为true。

【 connectionUploadTimeout 】上传超时时间,毕竟文件上传可能需要消耗更多的时间,这个根据你自己的业务需要自己调,以使 Servlet 有较长的时间来完成它的执行,需要与上一个参数一起配合使用才会生效。

【 acceptCount 】指定当所有可以使用的处理请求的线程数都被使用时,可传入连接请求的最大队列长度,超过这个数的请求将不予处理,默认为100 个。

【 compression 】 是否对响应的数据进行GZIP压缩,off:表示禁止压缩; on:表示允许压缩 (文本将被压缩)、force:表示所有情况下都进行压缩,默认值为off,压缩数据后可以有效的减少页面的大小,一般可以减小1/3左右,节省带宽。

【 compressionMinSize 】表示压缩响应的最小值,只有当响应报文大小大于这个值的时候才会对报文进行压缩,如果开启了压缩功能,默认值就是2048。

【 compressableMimeType 】压缩类型,指定对哪些类型的文件进行数据压缩。

【 noCompressionUserAgents=“gozilla, traviata” 】 对于以下的浏览器,不启用压缩
 

vim /usr/local/tomcat/conf/server.xml
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" 
------71行插入-----------
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"

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Tomcat 服务器的部署 的相关文章

随机推荐

  • GET . POST . PUT . DELETE 请求方式

    请求类型一共8种 常用的4种 GET POST PUT DELETE 1 GET get请求是用来获取数据的 相当于数据库中的select操作一样 不对服务器的数据做任何的修改 新增 删除 只是用来查询数据 get请求参数会加在URL后面
  • Springboot整合mybatis+mybatis-plus+PageHelper

    Mybatis是在国内使用是最广泛的 xff0c 以前都是使用xml进行映射 xff0c 说实话真心不太好用 xff0c 维护起来也不太方便 从mybatis3 0后开始支持 64 Mapper注解 xff0c 极大方便了开发 xff0c
  • PHP操作mysql

    一 mysqli基础操作 xff1a 1 连接数据库 xff1a mysqli connect 函数 填写你连接数据库的账号密码 conn 61 mysqli connect 39 127 0 0 1 39 39 root 39 39 ro
  • Linux安装pytorch1.1.0+CUDA10.0

    1 创建虚拟环境 conda create span class token operator span n pytorch1 span class token punctuation span span class token numbe
  • 使用dd复制将乌班图系统(Ubuntu22.04)完整迁移到新硬盘并扩容

    我的折磨历程 开始的时候用乌班图的时候 xff0c 不懂事 xff0c 根目录太小了 xff0c 后来就满了 xff0c 就就感觉完全没法用 xff0c 看着现在硬盘贼便宜 xff0c 去狗东买了个新的硬盘 感觉挂载硬盘并不能解决我的问题
  • vue指令

    目录 一 vue 的指令 1 v text 2 v html 3 v show 4 v if v esle if v else xff08 1 xff09 v if xff08 2 xff09 v if 与 v show 5 v for x
  • C# switch语句

    一 C switch语句 if语句每次判断只能实现两种选择 xff0c 而switch语句每次判断可以实现多种选择 基本语法格式如下 xff1a switch controlling expression case constant exp
  • python pyinstaller打包教程(pycharm)

    PyInstaller简介 PyInstaller是一个跨平台的Python应用打包工具 xff0c 支持 Windows Linux MacOS三大主流平台 xff0c 能够把 Python 脚本及其所在的 Python 解释器打包成可执
  • Windows11更新后打不开Edge浏览器解决办法

    前几天吐槽win11更新版本后打不开Microsoft Edge浏览器了 xff0c 特别影响我使用 xff0c 然后找网上方法 xff0c 大多让去设置里 修复 xff0c 就这样 xff0c 然而没什么卵用 xff0c 这应该是win1
  • Ubuntu16.04下联想R720的无线网卡开启问题及信号不稳定

    问题一 1 1 问题描述 笔记本型号 xff1a Lenovo r720笔记本 xff08 i5 7300hq xff0c gtx1060 maxq 6g xff09 xff0c 默认装入Win10系统 xff0c 然而当装入Ubuntu1
  • 【Anaconda 故障排除】之 EnvironmentNotWritableError

    目录 前言1 Anaconda Prompt 报错2 IPython 报错3 管理员身份运行 Anaconda Powershell Prompt4 其他方法总结 前言 提示 xff1a 这里可以添加本文要记录的大概内容 xff1a 刚刚卸
  • 与WPF相关的几本不错的书籍

    其实现在说这个话题有点过时 xff0c 因为WPF问世也已经有很长一段时间了 但是最近自己在读 WPF揭秘 xff0c 因此就对 现在 可以找到的资料做了些查询 之所以说是 现在 xff0c 是因为半年多前 xff0c 我就得到了一些有关W
  • docker入门之一centos7系统+docker安装

    一 安装centos 7 1 下载rufus 3 3制作U盘系统启动盘 2 加载U盘启动后 xff0c 默认选择的是第二项 xff0c 这里我们需要按 键 xff0c 将选项调到第一项Install CentOS7 再按enter键 3 语
  • Docker入门之二Docker原理、常用命令

    一 底层原理 Docker是什么工作的 xff1f Docker是一个 Client Server 结构的系统 xff0c Docker的守护进程运行在主机上 通过 Socket 从客户端访问 xff01 Dockerserver接收到 D
  • Docker入门之三容器命令

    一 容器命令 说明 xff1a 有了镜像才能创建容器 xff0c 首先下载一个centos镜像测试 1 下载镜像 docker pull centos 2 新建容器并启动 docker run docker run span class t
  • 【stm32f103】认识GPIO

    认识GPIO 什么是GPIOGPIO基本结构保护二极管输出模式推挽输出开漏输出 输出数据寄存器 xff08 参考手册8 2 xff09 GPIOx ODRGPIOx BSRR 输入模式 GPIO工作模式输入模式 xff08 模拟 浮空 上拉
  • 【ubuntu】Windows10远程桌面连接ubuntu20.04【未完待续】【由于特别卡顿,不好用,不续了】

    先上结果 环境 硬件 xff1a Jetson Xavier NX 套件 系统 xff1a Ubuntu 20 04 43 Windows10 软件 xff1a Xorg xrdp xubuntu desktop 解决 0 问题 使用Jet
  • 5G的介绍与个人理解

    1 5G概念 移动通讯自20世纪80年代诞生以来 xff0c 经过了三十多年的爆发式增长 xff0c 已经成为连接人类社会的基础信息网络 随着4G进入规模商用阶段 xff0c 面向2020年及未来的第五代移动通讯 xff0c 已成为全球研发
  • Linux系统安装详解

    前言 xff1a 随着开源软件在世界范围内影响力日益增强 xff0c Linux服务操作系统在整个服务器操作系统市场格局中占据很大的市场份额 xff0c 已经形成大规模市场应用局面 xff0c 尤其在政府 金融 农业 交通 电信等国家关键领
  • Tomcat 服务器的部署

    前言 目录 前言 一 Tomcat介绍 二 Tomcat组件 三 Tomcat部署步骤 Tomcat各目录 四 Tomcat 优化 Tomcat服务器是一个免费的开放源代码的Web应用服务器 xff0c 属于轻量级应用服务器 xff0c 在