Tomcat 部署与优化

目录

        一、概述

        1.1 简介

        1.2 安装配置Tomcat

        关闭防火墙

         修改环境变量

        安装Tomcat

        重启服务

        二、配置文件与核心组件

        2.1 安装目录文件

        2.2 conf子目录

        三、Tomcat处理请求过程 

        四、磁盘文件和访问的url对应关系

         主页文件的优先级

         五、模拟打包jar包实验

         六、 虚拟主机配置

        创建站点网页文件

        编辑配置文件,添加记录并重启

               模拟windows客户机访问


        一、概述

        1.1 简介

       Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器, 在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。 对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可 利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。 实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时, 它实际上作为一个与Apache 独立的进程单独运行的。

        1.2 安装配置Tomcat

##将文件包放入
[root@localhost ky15]# ls
apache-tomcat-9.0.16.tar.gz  jdk-8u201-linux-x64.rpm

##安装
[root@localhost ky15]# rpm -ivh jdk-8u201-linux-x64.rpm 

        关闭防火墙

[root@localhost jdk1.8.0_201-amd64]# systemctl stop firewalld.service 
[root@localhost jdk1.8.0_201-amd64]# setenforce 0

         修改环境变量

[root@localhost jdk1.8.0_201-amd64]# 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
##刷新配置文件
[root@localhost jdk1.8.0_201-amd64]#source /etc/profile 

        安装Tomcat

##将包放入并解压
[root@localhost ky15]# ls
apache-tomcat-9.0.16.tar.gz  jdk-8u201-linux-x64.rpm
[root@localhost ky15]# tar zxf apache-tomcat-9.0.16.tar.gz 
[root@localhost ky15]# ls
apache-tomcat-9.0.16  apache-tomcat-9.0.16.tar.gz  jdk-8u201-linux-x64.rpm

##拷贝文件到全局目录下
[root@localhost ky15]# cp -r apache-tomcat-9.0.16 /usr/local/tomcat

##切换目录下并查看启动脚本
[root@localhost ky15]# cd /usr/local/tomcat/bin
[root@localhost bin]# ls
bootstrap.jar       ciphers.sh                    daemon.sh     setclasspath.bat  startup.sh            version.b
catalina.bat        commons-daemon.jar            digest.bat    setclasspath.sh   tomcat-juli.jar       version.s
catalina.sh         commons-daemon-native.tar.gz  digest.sh     shutdown.bat      tomcat-native.tar.gz
catalina-tasks.xml  configtest.bat                makebase.bat  shutdown.sh       tool-wrapper.bat
ciphers.bat         configtest.sh                 makebase.sh   startup.bat       tool-wrapper.sh

        将服务加入系统环境

##添加用户并设置不可登录
[root@localhost bin]#useradd -s /sbin/nologin tomcat
##修改属主
[root@localhost local]#chown tomcat:tomcat tomcat/ -R
##编写服务文件并添加
[root@localhost ~]#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

        重启服务

[root@localhost local]#systemctl daemon-reload
[root@localhost local]#systemctl start tomcat
[root@localhost local]#ss -ntap |grep 8080
LISTEN     0      100         :::8080                    :::*                   users:(("java",pid=5694,fd=54))

        二、配置文件与核心组件

        2.1 安装目录文件

目录名功能
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存放项目资源的目录
worksTomcat 工作目录,一般清除 Tomcat 缓存的时候会使用到

        2.2 conf子目录

文件名说明
server.xml主配置文件
web.xml每个webapp只有“部署"后才能被访问,它的部署方式通常由web.xml进行定义,其存放位置为WEB-INF/目录中;此文件为所有的webapps提供默认部署相关的配置,每个web应用也可以使用专用配置文件,来覆盖全局文件
context.xml用于定义所有web应用均需加载的Context配置,此文件为所有的webapps提供默认配置,每个web应用也可以使用自已专用的配置,它通常由专用的配置文件context.xml来定义,其存放位置为WEB-INF/目录中,覆盖全局的文件
tomcat-users.xml用户认证的账号和密码文件
catalina.policy当使用security选项启动omcat时,用于为tomcat设置安全策略
catalina.propertiesTomcat环境变量的配置,用于设定类加载器路径,以及一些与JVM调优相关参数
logging.propertiesTomcat日志系统相关的配置,可以修改日志级别和日志路径等

        三、Tomcat处理请求过程 

        Tomcat启动一个Server进程。可以启动多个Server,即tomcat的多实例,但一般只启动一个

        创建一个Service提供服务。可以创建多个Service,但一般也只创建一个

        每个Service中,是Engine和其连接器Connector的关联配置

        可以为这个Service提供多个连接器Connector,这些Connector使用了不同的协议,绑定了不同的端口。其作用就是处理来自客户端的不同的连接请求或响应

        Service 内部还定义了Engine,引擎才是真正的处理请求的入口,其内部定义多个虚拟主机Host

        Engine对请求头做了分析,将请求发送给相应的虚拟主机

        如果没有匹配,数据就发往Engine上的defaultHost缺省虚拟主机

        Engine上的缺省虚拟主机可以修改

        Host定义虚拟主机,虚拟主机有name名称,通过名称匹配

        Context定义应用程序单独的路径映射和配置

        通常意义上的web服务器接受请求后,只是单纯地响应静态资源,如 HTML 文件,图片 文件等,不能在后端进行一定的处理操作。 Tomcat 是 Apache 下的一个子项目,它具备 Web 服务器的所有功能,不仅可以监听接受请求并响应静态资源,而且可以在后端运行特定规范 的 Java 代码 Servlet,同时将执行的结果以 HTML 代码的形式反回客户端。

        四、磁盘文件和访问的url对应关系

[root@localhost webapps]# ls   ##此文件下都是平级文件
docs  examples  host-manager  manager  ROOT
[root@localhost webapps]# 

        例如:新建一个目录并创建网页

[root@localhost webapps]# mkdir vlog   ##新建目录
[root@localhost webapps]# ls
docs  examples  host-manager  manager  ROOT  vlog   

[root@localhost webapps]# chown tomcat:tomcat vlog/    ##更改属主
[root@localhost webapps]# cd vlog/
##新建网页
[root@localhost vlog]# vim index.html

this is my vlog

         主页文件的优先级

        新建htm文件,网页刷新结果为html文件结尾的网页

 

         将html文件改为bak,查看生效结果

         新建jsp文件查看优先级

         html文件最高其次是htm文件,再其次是jsp文件

        查看配置文件优先级

         五、模拟打包jar包实验

##模拟制作jar包
[root@localhost conf]# cd /data/  ##切换目录

##创建html文件
[root@localhost data]# vim test.html
<h1>this is html<h1>

##创建jsp文件
[root@localhost data]# vim test.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<! DOCTYPE html>
<html>
<head>
        <meta charset="utf-8">
        <title>jsp例子</title>
</head>
<body>
<%
out.println ("test jsp");
%>
%%<br>
%<%=request.getRequestURL()%>
%</body>
%</html>

##制作包
[root@localhost data]# jar cvf /data/app1.war *
已添加清单
正在添加: test.html(输入 = 21) (输出 = 20)(压缩了 4%)
正在添加: test.jsp(输入 = 270) (输出 = 205)(压缩了 24%)

[root@localhost data]# ls
app1.war  test.html  test.jsp

##模拟开发人员发送包此时可以查看网页
[root@localhost data]# cp app1.war /usr/local/tomcat/webapps/
[root@localhost data]# ls /usr/local/tomcat/webapps/
app1  app1.war  docs  examples  host-manager  manager  ROOT  vlog
[root@localhost data]# 
 

         六、 虚拟主机配置

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

        创建站点网页文件

[root@localhost webapps]# mkdir lpp dff
[root@localhost webapps]# ls
app1      dff   examples      jpress         jpress-v4.1.4.war  manager  vlog
app1.war  docs  host-manager  jpress-v4.1.4  lpp                ROOT

##新建网页文件将内容写入
[root@localhost webapps]# echo "this is lpp" > lpp/index.html
[root@localhost webapps]# echo "this is dff" > dff/index.html

        编辑配置文件,添加记录并重启

[root@localhost ~]# vim /usr/local/tomcat/conf/server.xml 
<Host name="www.lpp.com" appBase="/usr/local/tomcat/webapps" (站点目录)
            unpackWARs="true" (自动解压)autoDeploy="true"(自动部署) xmlValidation="false"(检验标志)
            xmlNamespaceAware="false">(启用或禁用命名空间)
                <Context docBase="/usr/local/tomcat/webapps/kgc"
                path="" reloadable="true" />
      </Host>

      <Host name="www.dff.com" appBase="/usr/local/tomcat/webapps"
            unpackWARs="true" autoDeploy="true" xmlValidation="false"
            xmlNamespaceAware="false">
                <Context docBase="/usr/local/tomcat/webapps/accp"
                path="" reloadable="true" />
      </Host>

[root@localhost conf]# systemctl restart tomcat.service  重启服务

               模拟windows客户机访问

        修改host文件

##更改hosts文件##  C:\Windows\System32\drivers\etc  改hosts文件
192.168.162.111	www.dff.com	www.lpp.com

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值