首先从Apache的官方网站(http://tomcat.apache.org/)下载Tomcat。有安装版和解压版两种,本文档介绍绿色版安装方法。

一、Tomcat安装(绿色版安装)

  1、将下载的Tomcat解压到指定目录,如:D:\WorkSpaceByJava\DevtTools\Apache-Tomcat-8.0.23

  2、Tomcat的目录结构

bin:目录存放一些启动运行Tomcat的可执行程序和相关内容。          

conf:存放关于Tomcat服务器的全局配置。    

lib:目录存放Tomcat运行或者站点运行所需的jar包,所有在此Tomcat上的站点共享这些jar包。    

logs: 存放日志文件

temp:  存放临时文件

wabapps:目录是默认的站点根目录,可以更改。    

work:目录用于在服务器运行时过度资源,简单来说,就是存储jsp、servlet翻译、编译后的结果。    

  其他目录和文件暂时不做介绍。

二、Tomcat配置

  以下相关配置是在Windows系统下。

  第一、安装JDK,下载JDK:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html,安装完成后设置系统环境变量如:JAVA_HOME:C:\Program Files\Java\jdk1.8.0_45

  第二、注册Tomcat服务,使用控制台控制服务的命令 (Win+R)

  配置Tomcat环境变量

    1、新建变量名:CATALINA_HOME,变量值:D:\WorkSpaceByJava\DevtTools\Apache-Tomcat-8.0.23;

    2、打开PATH,添加变量值:%CATALINA_HOME%\lib;%CATALINA_HOME%\bin;

    3、将命令行转入到Tomcat安装Bin目录,例如:D:\Apache-Tomcat-8.0.23\bin  ,输入命令:service.bat install   如下图:

D:\Apache-Tomcat-8.0.\bin>service.bat install

    点击回车,结果如下表明安装成功:

Installing the service 'Tomcat8' ...
Using CATALINA_HOME: "D:\ProgramerFiles\apache-tomcat-6.0.35"
Using CATALINA_BASE: "D:\ProgramerFiles\apache-tomcat-6.0.35"
Using JAVA_HOME: "d:\java\jdk1.6.0_30\"
Using JVM: "d:\\Java\jdk1.6.0_30\jre\bin\server\jvm.dll"
The service 'Tomcat6' has been installed.:

    输入命令:service.bat remove可以移除注册服务。

    在运行中输入services.msc:

      点击回车可以查看tomcat服务已经在服务列表中,右击选择属性,修改启动类型为“自动”,再次开今后就会自动启动tomcat。

    Win+R + 命令提示符(管理员)

      启动服务 net Start Tomcat8

      关闭服务 net stop  Tomcat8

    注:  (Tomcat8):是刚刚注册的Tomcat服务名称。

    启动Tomcat后: 测试Tomcat安装是否成功时,输入http://localhost:8080到浏览器里。

    Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。

    4、删除tomcat服务

      首先要停止启动的tomcat服务,然后进入tomcat文件的bin目录下,在命令提示符中输入:

      services.bat remove

      点击后车后,查看服务列表中已经没有tomcat服务。说明已经删除tomcat服务。

    5、关于错误

      如果遇到安装tomcat服务后,启动时报“服务无法启动,特定错误代码1”,说明你所使用的tomcat和jdk不是同一位的。也就是说,如果配置的jdk是64位的,那么tomcat也要是64位的。如果不相同,就会报上面的错误。

三、Tomcat部署

  Tomcat部署Java Web应用程序有两种方式:静态部署和动态部署。(这里记录的是静态部署的笔记)

  静态部署:指的是服务器启动之前部署Web应用程序,只有当服务器启动之后,Web应用程序才能访问。

  动态部署:指的是服务器启动之后部署web应用程序,而不用重新启动服务器。动态部署要用到服务器提供的manager.war文件。在目录.../webapps/下没有该文件,需重新下载tomcat,否则不能完成以下的功能。

  静态部署分为以下3种方式都可以部署:(以PurpleStoneWeb项目为例说明,PurpleStoneWeb目录假设是D:/WorkSpaceByJava/DevProject/PurpleStoneWeb)

  第一:利用Tomcat自动部署

    将PurpleStoneWeb目录拷贝到Tomcat的/webapps下,然后启动服务器就可以了,Tomcat启动时将自动加载应用。

    访问地址如下:http://localhost:8080/PurpleStoneWeb/

    这种方式比较简单,但是web应用程序必须在webapps目录下。

    Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。

  第二:修改Server.xml文件部署指定项目

    (1)、部署指定路径项目

    这种方式可以不必将PurpleStoneWeb目录拷贝到webapps下,直接在D:/WorkSpaceByJava/DevProject/PurpleStoneWeb部署。方法如下,更改Tomcat的conf/server.xml文件,找到以下内容:

<Host name="localhost" appBase="webapps"  unpackWARs="true" autoDeploy="true">
  <Context path ="/PurpleStoneWeb" reloadable ="false" docBase ="D:/WorkSpaceByJava/DevelopmentProject/PurpleStoneWeb"
    workDir ="D:/WorkSpaceByJava/DevelopmentProject/PurpleStoneWeb/work"/>
  ...
</Host>

    如果没有Context  节点,请自行添加该节点。

    path:是访问时的根地址,表示访问的路径;如上述例子中,访问该应用程序地址如下:http://localhost:8080/PurpleStoneWeb/

    reloadable:表示可以在运行时在classes与lib文件夹下自动加载类包。其中reloadable="false"表示当应用程序中的内容发生更改之后服务器不会自动加载,这个属性在开发阶段通常都设为true,方便开发,在发布阶段应该设置为false,提高应用程序的访问速度。

    docbase:表示应用程序的路径,注意斜杠的方向“/”。 docBase可以使用绝对路径,也可以使用相对路径,相对路径相对于webapps。

    workdir:表示缓存文件的放置地址,是指Tomcat解析Jsp转换为Java文件,并编译为class存放的文件夹,设置在项目文件夹里面,可以避免移植到其他地方首次读取jsp文件需要重新解析 。(一般格式:项目文件夹/work)

    (2)、修改Tomcat默认监听端口

    方法如下,更改$CATALINA_HOME/conf/server.xml文件,找到以下内容:

<Connector port=""    --修改成自己的端口号()              
  protocol="HTTP/1.1" connectionTimeout="" redirectPort=""/>

    port:作为一个网络server端,它需要暴露一个socket端口来accept客户端的链接,可以通过port指定。即Tomcat的监听端口。

    protocol:使用的网络协议,表示tomcat使用何种方式来接受和处理client端请求,"HTTP/1.1"是默认值,等效"org.apache.coyote.http11.Http11Protocol";还有熟悉的"AJP/1.3";关于HTTP和AJP两种方式的区别和性能优劣可以参见其他文档. 在Tomcat 6.0之后,还提供了NIO的方式,可以有效的提升性能,特别是在大量长连接/数据上传+下载等web应用中.此时portocal="org.apache.coyote.http11.Http11NioProtocol".

    connectionTimeout: 指定超时的时间数( 以毫秒为单位)
    redirectPort:指定服务器正在处理http 请求时收到了一个SSL 传输请求后重定向的端口号

    (3)、修改Tomcat默认页面

    在上面,我们还算是中规中矩,按照常理出牌,谢了index.html。那么如果没有写呢?Tomcat会怎么做呢?

    请大家找到conf/web.xml。这个文件是对所有站点的共同属性做出了设置。比如大家看文件结尾处:

<welcome-file-list>
  <welcome-file>index.html</welcome-file>
  <welcome-file>index.htm</welcome-file>
  <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

  这个叫做欢迎页面,当没有输入资源地址时,会由上至下地查找,获取页面,进行响应。

  很清楚了吧,改动它就可以,但是不建议在这里改,会是所有站点设置变化,你应该将其复制到你需要改动的站点下的web.xml,进行设置。

Tomcat几个问题处理

  1、启动Tomcat

    Tomcat的启动是一个bat文件,在bin目录下,双击即可。但是首次安装Tomcat时必须告诉Tomcat您安装的JDK路径,不然是启动不起来的。一般的情况是控制台出来一下立即消失,说明Tomcat没有找到Java的运行时环境。

  2、根据以上配置好自己的Tomcat后

  测试:http://localhost:8051/PurpleStoneWeb/

  出现错误:

  HTTP Status 404 - /studystruts/


  typeStatus report

  message/studystruts/

  descriptionThe requested resource (/studystruts/) is not available.

解决方法:/conf/web.xml配置如下:

<servlet>
  <servlet-name>default</servlet-name>
  <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
  <init-param>
    <param-name>debug</param-name>
    <param-value></param-value>
  </init-param>
  <init-param>
    <param-name>listings</param-name>
    <param-value>false</param-value>
  </init-param>
  <load-on-startup></load-on-startup>
</servlet>

对其进行修改:

<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>

  原因:Tomcat8默认是关闭了目录浏览功能的,这个主要是出于安全性的考虑。

  3、让tomcat只运行conf/server.xml中指定的web应用

  可以有以下2种办法:

实现一:

  1)将要部署的WEB应用放在webapps以外的路径, 并在server.xml相应的Context  中的docBase 指定.

  2)删除webapps中的所有文件夹, 以及conf/catalina/localhost下所有xml文件.

  注: webapps是server.xml中的Host  元素的appBase 属性的值.

实现二:

  修改server.xml中Host  元素的属性, 添加或修改: deployXML ="false" deployOnStartup ="false" autoDeploy="false"

  deployXML ="false" : 不部署conf/catalina/localhost下的xml相应的WEB应用

  deployOnStartup ="false" :tomcat启动时, 不部署webapps下的所有web应用

  autoDeploy ="false"  :避免tomcat在扫描改动时, 再次把webapps下的web应用给部署进来.

  4、Tomcat中webapps目录下不能直接存放网页格式的文件,否则无法访问到该文件,必须有子目录才能访问该网页文件

  例如:我们直接将index.html放在webapps目录中,通过浏览器http://localhost:8051/index.html 是无法访问到index.html的。

  而必须要webapps/PurpleStoneWeb/index.html才可以通过http://localhost:8051/PurpleStoneWeb/Index.htm 访问到index.htm页面。

Tomcat安装、配置和部署的更多相关文章

  1. Tomcat安装配置

    Tomcat安装配置 很久没有通过博客对学习所得进行记录了. 现在将使用Tomcat的一些经验和心得写到这里,作为记录和备忘.如果有朋友看到,也请不吝赐教. 1.首先是Tomcat的获取和安装. 获取 ...

  2. Zookeeper、Solr和Tomcat安装配置实践

    Zookeeper.Solr和Tomcat安装配置实践

  3. nginx+tomcat安装配置

    nginx+tomcat安装配置 # nginx+tomcat安装配置 #创建网站目录 mkdir -p /www/wwwroot cd /www #安装配置 wget http://mirrors. ...

  4. centos tomcat/resin安装配置 卸载系统自带的java tomcat安装配置 安装JDK resin安装配置 第二十八节课

    centos  tomcat/resin安装配置  卸载系统自带的java  tomcat安装配置  安装JDK   resin安装配置    第二十八节课 tomcat和java都不需要编译 tom ...

  5. tomcat 安装配置及问题解决

    最近没写程序 刚想运行一个jsp程序发现tomcat出现一些问题,然后就重新装了程序,重新配置 总结经验就是不要怕报错,把错误复制下来,百度里面都有解决办法 要安装与自己jdk版本相匹配的tomcat ...

  6. tomcat 安装配置部署到nginx+tomcat+https

    目录 1 Tomcat简介 2.下载并安装Tomcat服务 2.2 部署java环境 2.3 安装Tomcat 2.4 Tomcat目录介绍 (关注点 bin conf logs webapps) 2 ...

  7. Linux项目部署 jdk tomcat 安装配置 linux下 failed connect to localhost:8080;Connection refused

         ONBOOT=yes 5.安装wget (1)安装 yum -y install wget (2) 查看版本  wget --version或 wget -V 一.安装jdk 配置 (1)安 ...

  8. CentOS系统中Tomcat安装配置

    Tomcat简介 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache.Sun和其他一些公司及个人共同开发而 ...

  9. tomcat安装配置.md

    tomcat 安装 安装jdk jdk我使用的是oracle的,如果下载请在oracle的官网上下载.或者你也可以使用openjdk,官网在http://openjdk.java.net/. # ta ...

  10. 转:Tomcat安装配置及站点说明

    原文地址:http://www.cnblogs.com/Johness/archive/2012/07/20/2600937.html 1.首先是Tomcat的获取和安装. 获取当然得上Apache的 ...

随机推荐

  1. MOBA项目定点数的一个想法

    能不能这样: 写逻辑时全用整数,不用每用到一个浮点数就要转一下成浮点数. 主要是除法 题细节较多,待思考

  2. oracle第四天笔记

    游标 /* 序列: ORACLE使用来模拟ID自动增长的 */ create sequence seq_test4; create table test2( tid number primary ke ...

  3. VS Code 使用笔记

    改变 UI 语言 How to change UI language in Visual Studio Code? 设置 Tab 空格 How to set tab-space style?

  4. 【375】COMP 9021 相关笔记

    1. Python 中的逻辑否定用 not 2. 对于下面的代码直邮输入整数才能运行,无论字符串或者浮点型都会报错 int(input('How many games should I simulat ...

  5. 10. Lambda表达式.md

    为了简化匿名内部类的代码,具体定义: 例如将9.内部类中的匿名内部类例子: 原来代码: //Main.java public class Main { public static void main( ...

  6. ArcGIS案例学习笔记3_1_地理配准案例_图面控制点

    ArcGIS案例学习笔记3_1_地理配准案例_图面控制点 计划时间:第3天上午 目的:地形图控制点配准 数据:地形图drg 无坐标: 步骤 1.查看地图标注 2. 地理配准,添加控制点 3.结果: 联 ...

  7. C# CefSharp 可监听请求等

    原地址:https://blog.csdn.net/jinxiu0406/article/details/80365140 bug1:在抓取js文件的时候,有时候数据未获取全,文本被截断了.在IRes ...

  8. ELK日志平台

    1.ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch.Logstash和Kibana三个开源工具组成,不过现在还新增了一个Beats,它是一个轻量级的日志收集处理工具(Age ...

  9. php 指定页面显示所有报错

    ini_set('display_errors',1); error_reporting(E_ALL);

  10. redis 存储java对象 两种方式

    根据redis的存储原理,Redis的key和value都支持二进制安全的字符串 1.利用序列化和反序列化的方式存储java对象我们可以通过对象的序列化与反序列化完成存储于取出,这样就可以使用redi ...