189 8069 5689

Tomcat全攻略-创新互联

tomcat全攻略

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册虚拟主机、营销软件、网站建设、靖安网站维护、网站推广。

  1.tomcat是什么?

   Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,它早期的名称为catalina,后来由Apache、Sun 和其他一些公司及个人共同开发而成,并更名为Tomcat。Tomcat是应用(java)服务器,它是一个servlet容器,是Apache的扩展,但它是独立运行的。tomat应用于Java Servlet, JavaServer Pages,Java Expression Language以及其他的Javaweb开发的技术。

         The Apache Tomcat software is an open source implementation of the Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket technologies. The Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket specifications are developed under the Java Community Process.The Apache Tomcat software is developed in an open and participatory environment and released under the Apache License version 2. The Apache Tomcat project is intended to be a collaboration of the best-of-breed developers from around the world. We invite you to participate in this open development project. To learn more about getting involved, click here.

Apache Tomcat software powers numerous large-scale, mission-critical web applications across a diverse range of industries and organizations. Some of these users and their stories are listed on the PoweredBy wiki page.

Apache Tomcat, Tomcat, Apache, the Apache feather, and the Apache Tomcat project logo are trademarks of the Apache Software Foundation.

--from http://tomcat.apache.org/

  2.tomcat yum安装

   1.yum安装jdk

  yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

   2.yum安装tomcat

    yum install -y tomcat, tomcat-lib, tomcat-admin-webapps, tomcat-webapps, tomcat-docs-webapp

  3.tomcat rpm包程序环境

  1.查看程序环境方式

  rpm -ql tomcat

  2.环境介绍

    配置文件目录:/etc/tomcat

    主配置文件:server.xml

    webapps存放位置:/var/lib/tomcat/webapps/

     examples

    manager

    host-manager

    docs

    Unit File:tomcat.service

    环境配置文件:/etc/sysconfig/tomcat

    4.tomcat配置文件构成

  server.xml:主配置文件;

  web.xml:每个webapp只有“部署”后才能被访问,它的部署方式通常由web.xml进行定义,其存放位置为WEB-INF目录中;web.xml文件为所有的webapps提供默认部署相关的配置;

  context.xml:每个webapp都可以专用的配置文件,它通常由专用的配置文件context.xml来定义,其存放位置为WEB-INF目录中;context.xml文件为所有的webapps提供默认配置;

  tomcat-users.xml:用户认证的账号和密码文件;

  catalina.policy:当使用-security选项启动tomcat时,用于为tomcat设置安全策略;

  catalina.properties:Java属性的定义文件,用于设定类加载器路径,以及一些与JVM调优相关参数;

 logging.properties:日志系统相关的配置;

   5.Tomcat的核心组件:server.xml

                                                    ...                                                                                               ...                                                       ...                                     ...             Engine>              

Tomcat全攻略

    每一个组件都由一个Java“类”实现,这些组件大体可分为以下几个类型:

    顶级组件:Server

    服务类组件:Service

    连接器组件:http, https, ajp(apache jserv protocol)

    容器类:Engine, Host, Context

    被嵌套类:valve, logger, realm, loader, manager, ...

    集群类组件:listener, cluster, ...

    6.JSP WebAPP介绍

        tomcat能够运行JSP WebAPP。现在主流大型的web电商web服务都是用JSP开发的。下面介绍JSP WebAPP。

    6.1 JSP WebAPP的组织结构

      /: webapps的根目录

        index.jsp:主页;

        WEB-INF/:当前webapp的私有资源路径;通常用于存储当前webapp的web.xml和context.xml配置文件;

        META-INF/:类似于WEB-INF/;

        classes/:类文件,当前webapp所提供的类;

        lib/:类文件,当前webapp所提供的类,被打包为jar格式;

    6.2 webapp归档格式

        .war:webapp

        .jar:EJB的类打包文件;

        .rar:资源适配器类打包文件;

        .ear:企业级webapp;

    

    6.3 部署(deploy)webapp的相关操作:

        deploy:将webapp的源文件放置于目标目录(网页程序文件存放目录),配置tomcat服务器能够基于web.xml和context.xml文件中定义的路径来访问此webapp;将其特有的类和依赖的类通过class loader装载至JVM;

        部署有两种方式:

        1.自动部署:auto deploy

        2.手动部署:

       2.1 冷部署:把webapp复制到指定的位置(rpm安装的tomcat在/var/lib/tomcat/webapps),而后才启动tomcat;

        2.2 热部署:在不停止tomcat的前提下进行部署;

      热部署的部署工具有:manager、ant脚本、tcd(tomcat client deployer)等;

        undeploy:反部署,停止webapp,并从tomcat实例上卸载webapp;

        start:启动处于停止状态的webapp;

        stop:停止webapp,不再向用户提供服务;其类依然在jvm上;

        redeploy:重新部署;

    6.4 手动提供一测试类应用,并冷部署:

 mkidr  -pv  /usr/local/tomcat/webapps/test/{classes,lib,WEB-INF}   #创建JSP WebAPP相关的目录以及文件  vi /usr/local/tomcat/webapps/test/index.jsp                        #手动创建一个WebAPP应用 <%@ page language="java" %> <%@ page import="java.util.*" %>                           Test Page                               <% out.println("hello world");             %>              

        6.4.1 通过浏览器访问测试

Tomcat全攻略

    7.Tomcat的常用组件配置

        7.1 Server

            代表tomcat instance,即表现出的一个java进程;监听在8005端口,只接收“SHUTDOWN”。各server监听的端口不能相同,因此,在同一物理主机启动多个实例时,需要修改其监听端口为不同的端口;

        7.2 Service

            用于实现将一个或多个connector组件关联至一个engine组件;

        7.3 Connector组件

        负责接收请求,常见的有三类http/https/ajp;

        进入tomcat的请求可分为两类:

        (1) standalone : 请求来自于客户端浏览器;

        (2) 由其它的web server反代:来自前端的反代服务器,以下提供四种情况

nginx --> http connector --> tomcat  httpd(proxy_http_module) --> http connector --> tomcat httpd(proxy_ajp_module) --> ajp connector --> tomcat  httpd(mod_jk) --> ajp connector --> tomcat

        Connector属性:

            port="8080"

            protocol="HTTP/1.1"

            connectionTimeout="20000"

            address:监听的IP地址;默认为本机所有可用地址;

            maxThreads:大并发连接数,默认为200;

            enableLookups:是否启用DNS查询功能;

            acceptCount:等待队列的大长度;

            secure:安全相关

            sslProtocol:ssl安全协议

        7.4 Engine组件

            Servlet实例,即servlet引擎,其内部可以一个或多个host组件来定义站点; 通常需要通过defaultHost来定义默认的虚拟主机;

属性:

name=

defaultHost="localhost"

jvmRoute=

        7.5 Host组件

            位于engine内部用于接收请求并进行相应处理的主机或虚拟主机,示例:

 

        常用属性说明:

        (1) appBase:此Host的webapps的默认存放目录,指存放非归档的web应用程序的目录或归档的WAR文件目录路径;可以使用基于$CATALINA_BASE变量所定义的路径的相对路径;

        (2) autoDeploy:在Tomcat处于运行状态时,将某webapp放置于appBase所定义的目录中时,是否自动将其部署至tomcat;

        示例1:

mkdir -pv /appdata/huwho      #创建webapps的存放目录 mkdir -pv /appdata/huwho/ROOT/{lib,classes,WEB-INF}   #创建webapp的相关文件 vi /appdata/huwho/ROOT/index.jsp         #提供一个测试页即可 <%@ page language="java" %> <%@ page import="java.util.*" %>     Test Page     <% out.println("tomcat server node1");     %>

        通过浏览器访问测试:          

Tomcat全攻略

        示例2:JSP WebAPP部署应用

            注:在示例1实验的基础上进行此实验,确保目录在/appdata/huwho,进行如下操作

            下载此压缩包:shopxx-a5-Beta.zip

            解压:unzip shopxx-a5-Beta.zip

            创建软链接:ln -sv shop shopxx-v3.0-Beta

                浏览器访问测试

Tomcat全攻略

    7.6 Context组件

            Context组件是最内层次的组件,它表示Web应用程序本身。配置一个Context最主要的是指定Web应用程序的根目录,以便Servlet容器能够将用户请求发往正确的位置。

官方示例:

            在上面实验的基础上加入context组件内容

       vi /etc/tomcat/server.xml                                  mkdir -pv /e-shop     cd /e-shop    mv shopxx-v3.0-Beta /e-shop/    ln -sv eshop shopxx-v3.0-Beta

             浏览器访问测试

Tomcat全攻略

        7.7 Valve组件

            用来拦截请求并在将其转至目标之前进行某种处理操作,类似于Servlet规范中定义的过滤器。

            Valve存在多种类型:

            定义访问日志:

org.apache.catalina.valves.AccessLogValve

            定义访问控制:

org.apache.catalina.valves.RemoteAddrValve   

    8.Tomcat的两个管理应用

Tomcat有它自己的管理应用,我们只需要经过简单的配置就可以启用它。

一个是manager,另一个是host-manager。

 vi tomcat-users.xml  #配置文件中加入以下三行开启tomcat管理应用       

      配置好了,让我们通过浏览器访问瞧瞧。点击图中标识的位置,就可以进入管理中心了。

Tomcat全攻略

        提示输入账号以及密码。根据配置文件自己配置的账号密码,输入即可。

Tomcat全攻略

        查看管理页面

Tomcat全攻略

Tomcat全攻略

  9.Tomcat集群部署

   9.1 nt(nginx+tomcat)

       1.nginx反向代理Tomcat示例

    server {         server_name www.huwho.cn;         listen 80;         location  / {         proxy_pass http://192.168.0.13:8080;         }         location ~* \.(jsp|do) {         proxy_pass http://192.168.0.13:8080;       }

        打开浏览器测试,nginx代理成功Tomcat全攻略

        2.nginx负载均衡反向代理Tomcat示例

    vi /etc/nginx/nginx.conf     #http{}段中加入如下内容              upstream tcsrvs {         #hash $request_uri consistent;         server 192.168.0.13:8080;         server 192.168.0.14:8080;     }     vi /etc/nginx/conf.d/huwho.conf         server {         server_name www.huwho.com;         listen 80;         location  / {         proxy_pass http://tcsrvs;          }       }

    打开浏览器测试,web页面正常访问,且能访问两台Tomat主机

Tomcat全攻略

Tomcat全攻略

  9.2 at(httpd+tomcat)

   1.httpd反向代理Tomat示例

vi /etc/httpd/conf.d/huwho.conf            ServerName www.huwho.cn     ProxyRequests Off     ProxyVia On     ProxyPreserveHost On          Require all granted          ProxyPass / http://192.168.0.13:8080/     ProxyPa***everse / http://192.168.0.13:8080/          Require all granted          

Tomcat全攻略

  2.proxy_http_module代理配置示例(代理+负载均衡)

    cat httpd-tomcat.huwho.conf              BalancerMember http://192.168.0.13:8080 loadfactor=1         BalancerMember http://192.168.0.14:8080 loadfactor=2                  ProxySet lbmethod=byrequests                        ServerName www.huwho.cn         ProxyRequests Off         ProxyVia On         ProxyPreserveHost On                      Require all granted                  ProxyPass / balancer://tcsrvs/         ProxyPa***everse / balancer://tcsrvs/                       Require all granted                                SetHandler balancer-manager             ProxyPass !             Require  ip 10.0.0.1              

Tomcat全攻略

Tomcat全攻略

            打开浏览器测试,web页面正常访问,且能访问两台Tomat主机

  3. proxy_ajp_module代理配置示例(代理+负载均衡)

    [root@httpd conf.d]# cat http-ajp-huwho.conf               BalancerMember ajp://192.168.0.13:8009         BalancerMember ajp://192.168.0.14:8009         ProxySet lbmethod=byrequests                             ServerName ajp.huwho.cn         ProxyRequests Off         ProxyVia On         ProxyPreserveHost On                      Require all granted                  ProxyPass / balancer://ajsrvs/         ProxyPa***everse / balancer://ajsrvs/                      Require all granted              

Tomcat全攻略Tomcat全攻略

         打开浏览器测试,web页面正常访问,且能访问两台Tomat主机

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前题目:Tomcat全攻略-创新互联
分享路径:http://jkwzsj.com/article/ddidig.html

其他资讯