笛里谁知壮士心,沙头空照征人骨。这篇文章主要讲述Tomcat部署及优化相关的知识,希望能为你提供帮助。
一、Tomcat概述
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受java 爱好者的喜爱并得到了部分软件开发商的认可,成为比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。在后端。
Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理html页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。Tomcat最新版本为10.0.14。
Tomcat组件
Tomcat由一系列的组件构成,其中核心的组件有三个:
1.ServletServlet是Java Servlet 的简称,可以理解为是一个服务连接器,是用Java编写的服务器端程序,具有独立于平台和协议的特性,简单的理解: servlet就是一个中间件,包含了接口和方法,将客户端和数据库连接,从而实现动态网页的创建。
2.JSP【Tomcat部署及优化】JSP 全称 Java Server Pages,是一种动态网页开发技术。它使用 JSP标签在HTML网页中插入Java代码。标签通常以<
%开头,以%>
结束。JSP是一种 Java servlet,主要用于实现Java web 应用程序的用户界面部分。JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。
1、Tomcat功能组件结构
Tomcat 的核心功能有两个,分别是负责接收和反馈外部请求的连接器Connector,和负责处理请求的容器Container。其中连接器和容器相辅相成,一起构成了基本的 web服务Service。每个Tomcat服务器可以管理多个Service。
Container的结构每个Service会包含一个Container容器。在 Container内部包含了4个子容器:4个子容器的作用分别是:
Engine、Host、Context和 wrapper,这四个容器之间属于父子关系。
容器由一个引擎可以管理多个虚拟主机。每个虚拟主机可以管理多个web应用。每个 web应用会有多个Servlet封装器。
2、Tomcat请求过程
二、Tomcat部署在部署 Tomcat 之前必须安装好 jdk,因为 jdk 是 Tomcat 运行的必要环境。
1、关闭防火墙,将安装 Tomcat 所需软件包传到/opt目录下
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
apache-tomcat-9.0.16.tar.gz
jdk-8u201-linux-x64.rpm
2、安装 JDK
#查询指定软件包的文件列表
rpm -qpl jdk-8u201-linux-x64.rpm
#安装
rpm -ivh jdk-8u201-linux-x64.rpm
java -version
3、设置 JDK 环境变量
#profile.d相当于profile的扩展地盘
vim /etc/profile.d/java.sh
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
source /etc/profile.d/java.sh
java -version
小知识
$PATH必须放在后面,不然读取的java版本还是系统自带的
编写一个脚本进行验证
vim Hello.java
#编写一个java程序,输出“Hello let it go!”
public class abc
public static void main(String[] args)
System.out.println("Hello let it go!");
#检测JDK环境是否设置成功
javac Hello.java编译
java Hello执行
4、安装启动 Tomcat
cd /opt/
tar zxvf apache-tomcat-8.2.16.tar.gz
mv apache-tomcat-8.5.16 /usr/local/tomcat
##启动tomcat##
/usr/local/tomcat/bin/startup.sh
netstat -natp | grep8080
#使用浏览器访问Tomcat的主页
http://192.168.132.10:8080
5、优化 Tomcat 启动速度
vim /usr/java/jdk1.8.0_201-amd64/jre/lib/security/java.security
#修改117行;
##/dev/random和/dev/urandom都是伪终端,但是/dev/urandom提供的数据流更快
securerandom.source=file:/dev/urandom
#重启Tomcat
shutdown.sh
startup.sh
/dev/urandom是/dev/random的非阻塞版本,/dev/random的 random pool依赖于系统中断,因此在系统的中断数不足时,/dev/random设备会一直封锁,尝试读取的进程就会进入等待状态,直到系统的中断数充分够用,/dev/random设备可以保证数据的随机性.
/dev/urandom不依赖系统的中断,也就不会造成进程忙等待,但是数据的随机性也不高,所以该随机数的安全性理论上不高。如果应用对安全性要求很高,那么应该使用/dev / random。
tomcat的主要目录 ll /usr/local/tomcat
6、Tomcat 虚拟主机配置
很多时候公司会有多个项目需要运行,那么肯定不可能是一台服务器上运行多个Tomcat服务,这样会消耗太多的系统资源。此时,就需要使用到Tomcat虚拟主机。例如现在新增两个域名www.tyx.com和www.accp.com,希望通过这两个域名访问到不同的项目内容。
1、创建tyx和accp项目目录和文件到此这篇关于Tomcat部署及优化内容已经讲完,如果未能解决您的问题,请参考下面的文章:
推荐阅读
- #yyds干货盘点#crontab介绍安装及每秒运行
- Python 相对路径问题(“No such file or directory“)
- Python 空字符串转化问题(ValueError: invalid literal for int() with base 10: ,原因及解决方法。)
- #yyds干货盘点#Prometheus 之 exporter 及查询持久性
- ubuntu18.04安装搜狗输入法
- Windows 微信兼容性问题(微信截图放大解决办法。)
- (服务运维)ApacheNginx原理和对比
- PyQt5 技巧篇-解决相对路径无法加载图片问题,styleSheet通过"相对"路径加载图片,python获取当前运行文件的绝对路径。
- WordPress(如何从特定类别查询帖子)