三、tomcat的安装及项目部署方式

独自空忆成欢 提交于 2019-11-27 12:19:18

Tomcat的安装配置

  一、下载:

    Apache官网

  二、安装的前置条件:先安装配置JDK

  三、安装:

    它是绿色版软件,解压缩即可用

  四、tomcat环境变量是否需要配置?  如何配置自行参考百度,不做赘述

    用文本编辑工具打开用于启动Tomcat的批处理文件startup.bat,仔细阅读可以发现:在这个文件中,首先判断CATALINA_HOME环境变量是否为空,如果为空,就将当前目录设为CATALINA_HOME的值。接着判断当前目录下是否存在bin\catalina.bat,如果文件不存在,将当前目录的父目录设为CATALINA_HOME的值。根据笔者机器上Tomcat安装目录的层次结构,最后CATALINA_HOME的值被设为Tomcat的安装目录。如果环境变量CATALINA_HOME已经存在,则通过这个环境变量调用bin目录下的“catalina.bat start”命令。

    通过这段分析,我们了解到两个信息,一是Tomcat启动时,需要查找CATALINA_HOME这个环境变量,如果在Tomcat的bin目录下调用startup.bat,Tomcat会自动并正确设置CATALINA_HOME;二是执行startup.bat命令,实际上执行的是“catalina.bat start”命令。简单的说 :

    1、如果我们直接从bin目录下运行startup.bat 启动,是不需要配置环境变量的,而如果我们直接使用命令则需要环境变量

    2、配置了环境变量对全局生效,所以如果我们需要同时启动多个tomcat,则要么一个环境都不配置,要么所有环境都配置

      五、启动tomcat:

    1、Linux下启动:

      打开/tomcat/bin目录,打开终端,输入chmod +x *sh

      打开/tomcat/bin目录,打开终端,输入./startup.sh

    2、Windows下启动:

      打开/tomcat/bin目录,双击startup.bat。为了检测环境变量是否配置成功,以及Tomcat是否能够成功启动,首先进入命令行,windows系统下可以使用 “cmd“命令进入。在命令行窗口下输入“startup”命令.

      访问服务器,在浏览器上输入 http://localhost:8080,回车后看到一只猫则代表成功了

  六、关闭服务器:

     Linux下:打开/tomcat/bin,打开终端,输入./shutdown.sh

     windows下:打开/tomcat/bin,双击shutdown.bat,在命令提示符下输入“shutdown”命令后,Tomcat的命令提示符窗口会关闭,在浏览器中再次输入http://localhost:8080后,看不到图,代表关闭

  七、Tomcat常见问题:

    弹出框或者控制台出现 Address already in use 8080 , tomcat端口被占用

      原因:

        tomcat重复启动导致

        其他软件的端口冲突导致

      解决办法:

        打开终端,通过命令shutdown强制关闭tomcat

        打开tomcat配置文件server.xml,在约65行修改端口

    eclipse中Tomcat取消自动部署的方法:

        在servers下双击,publishing下选择Never

    eclipse中Tomcat中抓包的方法:

        show view---->debug-------->tcp/ip monitor----->添加代理服务器并启动

========================================================================================================
========================================================================================================
 

tomcat对应版本:

              

 

了解一下tomcat的目录结构:

              
 
Tomcat部署项目

   tomcat部署单个项目的三种方式(tomcat的热部署) 

    第一种:

      把编写并编译好的web项目放在webapps目录下。(如果是eclipse编写的,可以把项目打成war包放进webapps目录下)

      启动startup.bat会自动把war包解压

    第二种:

      在tomcat的conf目录下的server.xml配置:

        <Context path="/WebProject" docBase="D:/WebProject" reloadable="true" />

        path:浏览器访问时的路径名

        docBase:web项目的WebRoot所在的路径,注意是WebRoot的路径,不是项目的路径。其实也就是编译后的项目

        reloadble:设定项目有改动时,tomcat是否重新加载该项目

      启动startup.bat

      浏览器输入localhost:8080/WebProject/文件名 这里的webproject如果配的是 /** 访问就是/**/文件名

      从 tomcat5.0版本开始后,server.xml 文件作为 tomcat 启动的主要配置文件,一旦 tomcat 启动后,便不会再读取这个文件,因此无法再 tomcat 服务启动后发布 web 项目

    第三种:

      进入conf/catlina/localhost目录,新建一个 项目名.xml文件,文件内容:<Context  docBase="D:/WebProject" reloadable="true" />

      启动startup.bat        浏览器输入:localhost:8080/xml文件名/访问文件名

      每个项目分开配置,tomcat 将以\conf\Catalina\localhost 目录下的 xml 文件的文件名作为 web 应用的上下文路径,而不再理会 <Context>中配置的 path 路径,因此在配置的时候,可以不写 path。

 

tomcat哪种部署方式对于Nginx的负载均衡效果更好?

  使用多个tomcat,每个tomcat部署一个工程,这样nginx下的每个工程仅由一个tomcat处理

  使用多个tomcat,每个tomcat部署所有工程,这样nginx下的每个工程由三个tomcat来处理

 

同一个tomcat,同一个端口部署多个工程:

  把待发布的多个项目.war文件放在webapps目录下

  修改server.xml,新增节点,一个节点代表一个web应用

  <Context path="/WebProject" docBase="D:/WebProject" reloadable="true" />

同一个tomcat,多个端口部署多个工程:

  修改server.xml

  复制节点 ,粘贴新增节点 

  删除掉新增节点下的<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />节点 

  新增Service节点的name属性修改为Catalina1 

  1. 新增Service节点的Connector节点port属性修改为8001(根据机器配置未占用端口) 
  2. 新增Service节点的Engine节点的name修改为Catalina1  
  3. 新增Service节点的Engine节点的Host节点appBase属性修改为webapps1 
  4. 新建目录webapps1
  5. 复制conf目录下生成的catlina副本,新建一个catlina1
  6. 测试
    1. 运行tomcat8w.exe
    2. 浏览器输入http://localhost:8081(server.xml中配置的端口号)/项目名/ 看项目是否启动
  7. 多个tomcat对应多个项目

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!