
- 一.Tomcat概述
- 二.Tomcat配置文件介绍及核心组件
- 2.1、配置文件
- 2.2、核心组件
- 三.Tomcat服务部署
- 3.1、关闭防火墙
- 3.2、安装JDK包
- 3.3、设置JDK环境变量
- 3.4、安装tomcat
- 3.5、将tomcat添加到服务
- 四.虚拟主机配置
自 2017 年 11 月编程语言排行榜 Java 占比 13%,高居榜首,Tomcat 也一度成为 Java 开发人员的首选。其开源、占用系统资源少、跨平台等特性被深受喜爱。本章主要学习如何 部署 Tomcat 服务,根据生产环境实现多个虚拟主机的配置,最后的重点是进行压测,根据 压测结果如何优化 Tomcat 服务及常见的内存溢出如何处理。
Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。一般来说,Tomcat虽然和Apache或者Nginx这些Web服务器一样,具有处理HTML页面的功能,然而由于其处理静态HTML的能力远不及Apache或者Nginx,所以Tomcat通常是作为一个Servlet和JSP容器,单独运行在后端。
官网地址:https://tomcat.apache.org/
二.Tomcat配置文件介绍及核心组件 2.1、配置文件安装目录下 文件介绍
conf子目录
Tomcat 由一系列的组件构成,其中核心的组件有三个:
- Web 容器:完成 Web 服务器的功能。
- Servlet 容器:名字为 catalina,用于处理 Servlet 代码。
- JSP 容器:用于将 JSP 动态网页翻译成 Servlet 代码
多实例:多实例就是在一台服务器上同时开启多个不同的服务端口,同时运行多个服务进程,这些服务进程通过不同的socket监听不同的服务端口来提供服务。
引擎:一般而言,引擎是一个程序或一套系统的支持部分。常见的程序引擎有游戏引擎、搜索引擎、杀毒引擎等
tomcat 处理请求过程
- Tomcat启动一个Server进程。可以启动多个Server,即tomcat的多实例,但一般只启动一个
- 创建一个Service提供服务。可以创建多个Service,但一般也只创建一个
- 每个Service中,是Engine和其连接器Connector的关联配置
- 可以为这个Service提供多个连接器Connector,这些Connector使用了不同的协议,绑定了不同的端口。其作用就是处理来自客户端的不同的连接请求或响应
- Service 内部还定义了Engine,引擎才是真正的处理请求的入口,其内部定义多个虚拟主机Host
- Engine对请求头做了分析,将请求发送给相应的虚拟主机
- 如果没有匹配,数据就发往Engine上的defaultHost缺省虚拟主机
- Engine上的缺省虚拟主机可以修改
- Host定义虚拟主机,虚拟主机有name名称,通过名称匹配
- Context定义应用程序单独的路径映射和配置
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
[root@localhost ~]#rpm -ivh jdk-8u201-linux-x64.rpm
将安装 Tomcat 所需软件包传到/opt目录下 apache-tomcat-9.0.16.tar.gz jdk-8u201-linux-x64.rpm 切换至/opt下,安装JDK cd /opt rpm -ivh jdk-8u201-linux-x64.rpm3.3、设置JDK环境变量
1. 修改配置文件 vim /etc/profile 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 2. 刷新配置文件 [root@localhost jdk1.8.0_201-amd64]#source /etc/profile3.4、安装tomcat
1. #切换至/opt下,解压tomcat包 cd /opt tar -zxf apache-tomcat-9.0.16.tar.gz 2. #将解压后的包拷贝至/usr/local/下并重命名 cp -r apache-tomcat-9.0.16 /usr/local/tomcat 3. #切换至拷贝的目录下,启动tomcat cd /usr/local/tomcat/ /usr/local/tomcat/bin/startup.sh 4. #看是否启动成功 ss -natp |grep 8080 5. #在网页测试是否可以成功登录 http://192.168.32.98:8080/3.5、将tomcat添加到服务
1. #先关闭服务 /usr/local/tomcat/bin/shutdown.sh 2. #添加用户设置属主属组 useradd -s /sbin/nologin tomcat chown tomcat:tomcat tomcat/ -R 3. #新建服务文件 vim /etc/systemd/system/tomcat.service [Unit] Description=Tomcat #After=syslog.target network.target remote-fs.target nss-lookup.target After=syslog.target network.target [Service] Type=forking ExecStart=/usr/local/tomcat/bin/startup.sh ExecStop=/usr/local/tomcat/bin/shutdown.sh RestartSec=3 PrivateTmp=true User=tomcat Group=tomcat [Install] WantedBy=multi-user.target 4. #重新加载服务,并开启,查看是否成功启动 systemctl daemon-reload systemctl start tomcat ss -ntap |grep 8080四.虚拟主机配置
可能有时候公司会有多个项目需要运行,那么肯定不可能是一台服务器上运行多个Tomcat 服务,这样会消耗太多的系统资源。此时,就需要使用到 Tomcat 虚拟主机。例如现在新增两个域名 www.why.com,www.accp.com希望通过这两个域名访问到不同的项目内容。
[root@localhost webapps]#mkdir why accp [root@localhost webapps]#echo "this is kgc web !" > why/index.jsp [root@localhost webapps]#echo "this is accp web !" > accp/index.jsp [root@localhost webapps]#cat accp/index.jsp kgc/index.jsp this is accp web ls this is why web ls #http://tomcat.apache.org/tomcat-8.5-doc/index.html #配置文件的详解 [root@localhost ~]# vim /usr/local/tomcat/conf/server.xml[root@localhost ~]#systemctl restart tomcat ##更改hosts文件## C:WindowsSystem32driversetc 改hosts文件 192.168.32.101 www.why.com www.accp.com http://www.why.com:8080/why/ http://www.why.com:8080/accp/
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)