tomcat部署与常用目录结构

root
233
文章
0
评论
2020年1月7日22:41:35 评论 4673字阅读15分34秒

Centos7系统部署tomcat与核心目录

首先是下载安装软件(这里用yum的方式,也可以自行下载jdk进行安装但是要设定环境变量)

[root@kk ~]# yum -y install java
[root@kk ~]# java -version          //看眼java版本ok
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)

 

  • 去apache官网下载tomcat,这里我们下载8.5版本的tomcat

创建目录,解压tomcat,创建软连接

  • [root@kk application]# mkdir -p /application
  • [root@kk application]# tar xf apache-tomcat-8.5.50.tar.gz
  • [root@kk application]# ln -s apache-tomcat-8.5.50 tomcat
    
    [root@kk application]# ll
    total 10072
    drwxr-xr-x 9 root root     4096 Jan  7 20:18 apache-tomcat-8.5.50
    -rw-r--r-- 1 root root 10305939 Jan  7 20:02 apache-tomcat-8.5.50.tar.gz
    lrwxrwxrwx 1 root root       20 Jan  7 20:18 tomcat -> apache-tomcat-8.5.50
    
    

启动tomcat

  • [root@kk bin]# sh startup.sh
    Using CATALINA_BASE:   /application/tomcat
    Using CATALINA_HOME:   /application/tomcat
    Using CATALINA_TMPDIR: /application/tomcat/temp
    Using JRE_HOME:        /usr
    Using CLASSPATH:       /application/tomcat/bin/bootstrap.jar:/application/tomcat/bin/tomcat-juli.jar
    Tomcat started.
    
    
    [root@kk bin]# netstat -lntup|grep java
    tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      10073/java          
    tcp6       0      0 :::8009                 :::*                    LISTEN      10073/java          
    tcp6       0      0 :::8080                 :::*                    LISTEN      10073/java

经典的画面

tomcat常用目录结构

  • [root@kk application]# tree -L 1 tomcat/
    
    tomcat/
    
    |-- bin                                                                    tomcat命令目录(windows和linux)
    
    |-- BUILDING.txt
    
    |-- conf                                                                   tomcat配置文件
    
    |-- CONTRIBUTING.md
    
    |-- lib                                                                       存放web应用能访问的 JAR包                       
    
    |-- LICENSE
    
    |-- logs                                                                     catalina和其它web的日志文件
    
    |-- NOTICE
    
    |-- README.md
    
    |-- RELEASE-NOTES
    
    |-- RUNNING.txt
    
    |-- temp                                                                   临时文件
    
    |-- webapps                                                              应用程序类似与站点目录(自动解压war包)
    
    `-- work                                                                    放置缓存内容

 

tomcat/webapps/结构(正常工作中只留一个空ROOT,其它都移动走或者删除)

  • [root@kk tomcat]# tree -L 1 webapps/
    webapps/
    |-- docs                                                         站点目录(放置说明文档)
    |-- examples                                                  站点目录(放置示例页面)
    |-- host-manager                                          站点目录(管理端----------要删除)
    |-- manager                                                   站点目录(管理端----------要删除)
    `-- ROOT                                                       站点根目录

tomcat/bin/结构(常用命令)

  • [root@kk tomcat]# tree -L 1 bin/
    bin/
    |-- catalina.sh                                                核心管理脚本,jvm优化参数及相关配置,修改tomcat启动参数
    |-- shutdown.sh                                             关闭tomcat的脚本
    |-- startup.sh                                                  启动tomcat的脚本
    `-- version.sh                                                 可以查看系统参数的脚本

 

/tomcat/logs/结构

  • [root@kk tomcat]# tree logs/
    logs/
    |-- catalina.2020-01-07.log
    |-- catalina.out                                                                  tomcat最详细的目录,(缺点没有切割,要定期>)
    |-- host-manager.2020-01-07.log                                     管理端日志(管理端已经被删除了)
    |-- localhost.2020-01-07.log                                               
    |-- localhost_access_log.2020-01-07.txt
    `-- manager.2020-01-07.log                                               管理端日志(管理端已经被删除了)

/tomcat/conf/结构

  • [root@kk tomcat]# tree -L 1 conf/
    conf/
    |-- Catalina
    |-- catalina.policy
    |-- catalina.properties
    |-- context.xml                                                                对所有应用的统一配置,通常我们不会去配置它。 
    |-- jaspic-providers.xml
    |-- logging.properties
    |-- server.xml                                                                                 配置整个服务器信息
    |-- tomcat-users.xml                               存储tomcat用户的文件,这里保存的是tomcat的用户名及密码
    `-- web.xml

server.xml(类似于nginx的nginx.conf)

  • <Server port="8005" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
    #要把这里的默认端口,和口令都修改了
     
     <Connector port="8080" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443" />
    #要是单台服务器配置lnmt这里可以改80端口
    
     <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    #如果不需要可以注释掉8009
    
     <Engine name="Catalina" defaultHost="localhost">
    #引擎,这里要是写了域名,有defaulthost指定哪个host是默认站点
    
     <Host name="这里写域名" appBase="webapps"
                 unpackWARs="true" autoDeploy="true">
    #host name类似于nignx的server_name
    #appBase=站点根目录
    #unpackWARs=true就是上传war包自动解压
    #autoDeploy=true类似与nginx的reload发生变化自动加载
    
     <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                  prefix="localhost_access_log" suffix=".txt"
                  pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    #日志相关

server.xml组件

tomcat组件的类型

  • 顶级组件:位于整个配置的顶层,如server
    容器类组件:可以包含其它组件的组件,如server,engine,host,context
    连接器组件:连接用户请求至tomcat,如connector
    被嵌套类组件:位于一个容器内,不能包含其它组件,如Valve,logger.
  • <server>
         <service>
         <connector />
         <engine>
         <host>
         <context></context>
         </host>
         <host>
         <context></context>
         </host>
         </engine>
         </service>
    </server>

组件的详情

  • engine:核心容器组件,catalina引擎,负责通过connector接受用户请求,并处理请求,将请求转至对应的虚拟主机host
    
    host:类似于httpd中的虚拟主机,一般而言支持基于FQDN的虚拟主机
    
    context:定义一个应用程序,是一个最内层的容器类组件(不能再嵌套).篇日志context的主要目的指定对应的
    
    webapp的根目录,类似于httpd的alias,其还能为webapp指定额外的属性,如部署方式等.
    
    connector:接收用户请求,类似于httpd的listen配置监听端口.
    
    service(服务):将connector关联至engine,因此一个service内部可以有多个connector,但只能有一个引擎
    
    engine.service内部有两个connector,一个engine.因此一个service内部可以有多个connector.
    
    server:表示一个运行于JVM中的tomcat实例
    
    Valve:阀门,拦截请求并在将其转至对应的webapp前进行某种处理操作,可以用于任何容器中,比如记录日志(access log valve),基于IP做访问控制(remote address filter valve).
    
    logger: 日志记录器,用于记录组件内部的状态信息,可以用于除context外的任何容器中.
    
    realm:可以用于任意容器类的组件中,关联一个用户认证库,实现认证和授权.可以关联的认证库有两
    种:UserDatabaseRealm,MemoryRealm和JDBCRealm
    UserDatabaseRealm:使用JNDI自定义的用户认证库.
    MemoryRealm:认证信息定义在tomcat-users.xml中
    JDBCRealm:认证信息定义在数据库中,并通过JDBC连接至数据库查找认证用户.

一台服务器可以有多个host站点,server.xml里增加这些就可以

  •     <Host name="localhost"  appBase="webapps"
                unpackWARs="true" autoDeploy="true">
    
            <!-- SingleSignOn valve, share authentication between web applications
                 Documentation at: /docs/config/valve.html -->
            <!--
            <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
            -->
    
            <!-- Access log processes all example.
                 Documentation at: /docs/config/valve.html
                 Note: The pattern used is equivalent to using pattern="common" -->
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                   prefix="localhost_access_log" suffix=".txt"
                   pattern="%h %l %u %t &quot;%r&quot; %s %b" />
继续阅读
weinxin
我的微信
这是我的微信扫一扫
  • 文本由 发表于 2020年1月7日22:41:35
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
tomcat优化 Tomcat

tomcat优化

tomcat优化  Tomcat 性能调优 对于系统性能,用户最直观的感受就是系统的加载和操作时间,即用户执行某项操作的耗时。从更为专业的角度上讲,性能测试可以从以下两个指标量化。 响应时间:如上所述...
tomcat安全 Tomcat

tomcat安全

tomcat安全 配置安全 1.删除webapps目录下的所有文件 2.禁用tomcat管理界面 3.注释或删除tomcat-users.xml文件内的所有用户权限; 4.更改关闭tomcat指令或禁...
tomcat多实例与集群,Session共享问题 Tomcat

tomcat多实例与集群,Session共享问题

tomcat多实例与集群 先说tomcat多实例, 这个很简单,就简单说一下,一台web服务器上部署好一次tomcat做好了优化以后,可以当作模板及,进行打包压缩,保存好,当需要添加多台tomcat时...
JVM 优化 Tomcat

JVM 优化

JVM 配置方法(根据需求需求) 最常见的JVM配置当属内存分配,因为在绝大多数情况下,JVM默认分配的内存可能不能够满足我们的需求,特别是在生产环境,此时需要手动修改Tomcat启动时的内存参数分配...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: