lygyh9985825 发表于 2018-11-30 13:07:09

tomcat 说明及部署

  一、tomcat简介
  二、tomcat安装配置
  三、tomcat配置文件说明
  四、tomcat虚拟机配置
  五、nginx反向代理tomcat及动静分离
  六、apache反向代理tomcat
  七、apache ajp反向代理tomcat
  八、server status配置
  九、host-manager配置
  

  一、tomcat简介
  Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器。但是,不能将Tomcat和Apache Web服务器混淆,Apache Web Server是一个用C语言实现的HTTP web server;这两个HTTP web server不是捆绑在一起的。Apache Tomcat包含了一个配置管理工具,也可以通过编辑XML格式的配置文件来进行配置。
  

  环境说明:
  IP:172.16.110.25 OS:CentOS7.3 Tomcat:8.0.39 jdk:java-1.8.0-openjdk
  IP:172.16.110.47 OS:CentOS7.3 Nginx:1.10.2
  IP:172.16.110.48 OS:CentOS7.3 httpd:2.4.6
  

  二、tomcat安装配置
  (172.16.110.25)上配置
  1.tomcat安装
  1.1.安装jdk
  下载jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  oracle官方下载或者rpm包安装,这里使用EPEL源通过yum来安装
# yum install jdk  查看安装的JDK:
# rpm -qa | grep java
python-javapackages-3.4.1-11.el7.noarch
tzdata-java-2016j-1.el7.noarch
java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64
javapackages-tools-3.4.1-11.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.111-2.b15.el7_3.x86_64  查看java版本:
# java -version
openjdk version "1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-b15)
OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode)  1.2.下载tomcat
  版本选择,下载Binary Distributions版本
  http://tomcat.apache.org/download-80.cgi
  1.3.安装tomcat
tar -xf apache-tomcat-8.0.39.tar.gz -C /usr/local/
cd /usr/local/
ln -s apache-tomcat-8.0.39/ tomcat  1.3.1.tomcat目录说明
# tree -L 1
.
├── bin    #可执行文件路径,tomcat启动关闭脚本、运行工具等等
├── conf   #配置文件路径
├── lib    #依赖库文件路径
├── LICENSE
├── logs   #日志文件路径
├── NOTICE
├── RELEASE-NOTES
├── RUNNING.txt
├── temp    #临时文件目录
├── webapps #程序部署路径
└── work    #工作目录  1.3.2.配置环境变量路径:
vim /etc/profile
export PATH=$PATH:/usr/local/tomcat/bin  1.3.3.加载配置:
source /etc/profile  

  三、tomcat配置文件说明
  1.配置文件概括说明
  1.1.配置文件路径:
  /usr/local/tomcat/conf/
  各个配置文件作用:
  server.xml
  tomcat的主配置文件,包含service,connectors,engine,realm,valve,hosts等组件
  web.xml
  遵循Servlet规范标准的配置文件,用于配置servlet,并为所有的Web应用程序提供包括MIME映射等默认配置信息;
  tomcat-user.xml
  Realm认证时用到的相关角色、用户和密码等信息;Tomcat自带的manager默认情况下会用到此文件;在Tomcat中添加/删除用户,为用户指定角色等将通过编辑此文件实现
  catalina.policy
  java相关的安全策略配置文件,在系统资源级别上提供访问控制的能力
  catalina.properties
  Tomcat内部package的定义及访问相关的控制,也包括对通过类装载器装载的内容的控制;Tomcat在启动时会事先读取此文件的相关设置;
  logging.properties
  Tomcat通过自己内部实现的JAVA日志记录器来记录操作相关的日志,此文件即为日志记录器相关的配置信息,可以用来定义日志记录的组件级别以及日志文件的存在位置等
  context.xml
  所有虚拟host的默认配置信息
  1.2.server.xml配置文件说明
默认的配置文件如下:






   
   
   
   



   
   

   
      
   

  1.3.配置文件结构说明
  server:配置文件结构

   
   
   
      
         
      
   

  1.4.tomcat结构图
http://s3.运维网.com/wyfs02/M01/8D/0B/wKiom1iDNp3xEBI7AAA8bfy2ts4716.png
  1.5.配置文件每段的意义
  Server
  Server元素表示整个Catalina servlet容器。
  Service
  Service是这样一个集合:它由一个或者多个Connector组成,以及一个Engine,负责处理所有Connector所获得的客户请 求
  Connector
  一个Connector将在某个指定端口上侦听客户请求,并将获得的请求交给Engine来处理,从Engine处获得回应并返回客户TOMCAT有两个典型的Connector,一个直接侦听来自browser的http请求,一个侦听来自其它WebServer的请求 Coyote Http/1.1 Connector 在端口8080处侦听来自客户browser的http请求 Coyote JK2 Connector 在端口8009处侦听来自其它WebServer(Apache)的servlet/jsp代理请求
  Engine
  Engine元素表示与特定服务相关联的整个请求处理机制它接收和处理来自一个或多个连接器的所有请求并将完成的响应返回到连接器,以便最终传输回客户端Engine下可以配置多个虚拟主机Virtual Host,每个虚拟主机都有一个域名 当Engine获得一个请求时,它把该请求匹配到某个Host上,然后把该请求交给该Host来处理Engine有一个默认虚拟主机,当请求无法匹配到任何一个Host上的时候,将交给该默认Host来处理
  Host
  代表一个Virtual Host,虚拟主机,每个虚拟主机和某个网络域名Domain Name相匹配
  每个虚拟主机下都可以部署(deploy)一个或者多个Web App,每个Web App对应于一个Context,有一个Context path
  当Host获得一个请求时,将把该请求匹配到某个Context上,然后把该请求交给该Context来处理
  匹配的方法是“最长匹配”,所以一个path==""的Context将成为该Host的默认Context
  所有无法和其它Context的路径名匹配的请求都将最终和该默认Context匹配
  Context
  一个Context对应于一个Web Application,一个Web Application由一个或者多个Servlet组成
  Context在创建的时候将根据配置文件$CATALINA_HOME/conf/web.xml和$WEBAPP_HOME/WEB-INF /web.xml载入Servlet类
  当Context获得请求时,将在自己的映射表(mapping table)中寻找相匹配的Servlet类
  如果找到,则执行该类,获得请求的回应,并返回
  1.6.配置文件详细说明server.xml

tomcat的server实例,也就是一个JVM,监听在8005的管理端口,接受SHUTDOWN命令来对server下线




#tomcat监听的类接口组件
   
   
   
    #定义全局名称资源

   
定义一个service名为Catalina

#定义一个连接器,端口为8080;协议为HTTP1.1;链接超时时间为20秒;来自8443的重定向到此端口

#定义一个连接器,端口为8009;协议为AJP协议;来自8443的重定向到此端口

#定义一个名为Catalina的引擎,默认的监听主机为localhost
   
   

#定义一个虚拟主机,名称为localhost,程序路径为webapps,自动解包为;自动部署;
   
#定义日志的格式
      
   

  2.启动tomcat进程
# catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:      /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.  端口说明:
  8005:管理服务端口
  8080:服务器提供端口(接受http请求的端口)
  8009: AJP端口
  3.访问http://172.16.110.25:8080/
http://s1.运维网.com/wyfs02/M00/8D/08/wKioL1iDNrTijxkuAAJFH_cW9e0392.png-wh_500x0-wm_3-wmp_4-s_716885714.png
  

  四、tomcat虚拟机配置
  1.tomcat模拟部署程序
  1.1.模拟增加程序
cd /usr/local/tomcat/webapps/  创建目录:
mkdir -pv ckl/{META-INF,WEB-INF,lib,servlets}  1.2.配置测试JSP访问
# tree ckl/
ckl/
├── index.jsp
├── lib
├── META-INF
├── servlets
└── WEB-INF  1.3.编写JSP
# cat index.jsp

   
         ckl JSP~
   
   
         
   
  1.4.重启tomcat进程
# catalina.sh stop
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:      /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
# catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:      /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.  1.5.测试访问http://172.16.110.25:8080/ckl/
http://s5.运维网.com/wyfs02/M02/8D/08/wKioL1iDNv7youGsAAAR7noRa8c508.png-wh_500x0-wm_3-wmp_4-s_509627026.png
  2.tomcat虚拟机配置
  2.1.模拟部署程序
mkdir /data/kaka/{lib,META-INF,servlets,WEB-INF} -pv  2.2.增加访问页面
vim index.jsp

   
         ckl JSP~
   
   
         
   
  2.3.修改配置文件
vim /usr/local/tomcat/conf/server.xml
#增加下面的内容

      
      
      
....  2.4.重启进程
# catalina.sh stop
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:      /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
# catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:      /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.  4.测试访问
  http://www1.ckl.com:8080/ckl
http://s4.运维网.com/wyfs02/M00/8D/0B/wKiom1iDNx6Sobx_AAAO8zrYttI922.png-wh_500x0-wm_3-wmp_4-s_896663870.png
  五、nginx反向代理tomcat及动静分离
  nginx安装到此(172.16.110.47)
  nginx(172.16.110.47)--->tomcat(172.16.110.25)
  1.nginx反向代理tomcat
  1.1.安装nginx
  这里采用EPEL的yum安装,如果需要自行编译
yum install nginx  1.2.配置nginx
vim nginx.conf
....
location ~* \.(jsp|do)$ {
      proxy_pass http://www1.ckl.com:8080;
}
....  1.3.重启nginx
systemctl restart nginx.service  1.4.客户端hosts添加
  #172.16.110.25 host增加
  172.16.110.25 www1.ckl.com
  

  1.5.客户端测试访问:
  http://www1.ckl.com:8080/
http://s1.运维网.com/wyfs02/M01/8D/08/wKioL1iDN1CTrwnFAAAP7e3UIYU962.png-wh_500x0-wm_3-wmp_4-s_1881157313.png
  2.tomcat动静分离
  2.1.部署静态文件
cd /usr/share/nginx/html  上传n2.png
  

  2.2.配置nginx配置文件
vim nginx.conf
.....
location ~* \.(jpg|png|bmp|gif)$ {
      root/usr/share/nginx/html;
      expires 30d;
    }
    location ~* \.(jsp|do)$ {
      proxy_pass http://www1.ckl.com:8080;
    }
....  如果请求为图片格式的文件,本地处理,如果请求后缀为java格式的,则转发至后端tomcat
  5.3.重启nginx
# systemctl restart nginx  5.4.测试访问静态文件
http://s5.运维网.com/wyfs02/M00/8D/0B/wKiom1iDN3jS0L0-AAVLQdGwPBU237.png-wh_500x0-wm_3-wmp_4-s_2894804765.png
  六、apache反向代理tomcat
  apache安装到此(172.16.110.48)
  apache(172.16.110.48)--->tomcat(172.16.110.25)
  1.apache安装
yum install httpd  2.配置apache
vim httpd.conf
#增加如下内容
....
ProxyVia On
ProxyRequests Off
ProxyPreserveHost On

Order deny,allow
Allow from all

ProxyPass "/" http://www1.ckl.com:8080/
ProxyPa***everse "/" http://www1.ckl.com:8080/

Order allow,deny
Allow from all

...  3.重启apache进程
# systemctl restart httpd.service  4.测试访问
http://s1.运维网.com/wyfs02/M02/8D/08/wKioL1iDN6bA0hOkAADsPGc-MvA902.png-wh_500x0-wm_3-wmp_4-s_3809821275.png
  七、apache ajp反向代理tomcat
  apache安装到此(172.16.110.48)
  apache(172.16.110.48)--->tomcat(172.16.110.25)
  1.修改apache配置文件
vim httpd.conf
#增加如下内容:
ProxyVia On
ProxyRequests Off
ProxyPreserveHost On

Order deny,allow
Allow from all

ProxyPass "/" ajp://www1.ckl.com:8009/
ProxyPa***everse "/" ajp://www1.ckl.com:8009/

Order allow,deny
Allow from all

...  2.重启apache进程
# systemctl restart httpd.service  4.测试访问
http://s2.运维网.com/wyfs02/M02/8D/0B/wKiom1iDN8nAiOCsAADsPGc-MvA083.png-wh_500x0-wm_3-wmp_4-s_2208482494.png
  八、server status配置
  1.修改配置文件,增加配置
vim tomcat-users.xml
#增加如下内容

  2.重启tomcat进程
# catalina.sh stop
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:      /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
# catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:      /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.  3.访问状态页面
http://s1.运维网.com/wyfs02/M01/8D/08/wKioL1iDN_KiLP_2AADWuZFnshs517.png-wh_500x0-wm_3-wmp_4-s_260232416.png
http://s1.运维网.com/wyfs02/M02/8D/0B/wKiom1iDN_PjvpHWAADbWcPW26U955.png-wh_500x0-wm_3-wmp_4-s_3165364475.png
http://s1.运维网.com/wyfs02/M01/8D/0B/wKiom1iDN_TjbvXlAABrmsD8KBA829.png-wh_500x0-wm_3-wmp_4-s_1859177026.png
http://s4.运维网.com/wyfs02/M01/8D/08/wKioL1iDN_SR5KuwAADjTe6ldSI485.png-wh_500x0-wm_3-wmp_4-s_2345633896.png
  九、host-manager配置
  1.修改配置文件,增加配置
vim tomcat-users.xml
#修改如下内容

  2.重启tomcat进程
# catalina.sh stop
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:      /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
# catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:      /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.  3.访问状态页面
http://s4.运维网.com/wyfs02/M01/8D/0B/wKiom1iDOB7whEWYAADA1VeY2IY934.png-wh_500x0-wm_3-wmp_4-s_4064171193.png
  




页: [1]
查看完整版本: tomcat 说明及部署