`

Tomcat学习笔记 -【 虚拟主机与虚拟目录】

阅读更多

和Nginx类似,Tomcat也有虚拟主机、虚拟目录的概念。借助于虚拟主机功能,允许在一台Tomcat服务器上面创建多个虚拟主机。通过虚拟目录的设置,可以自定义web应用的存放目录,不再强硬要求web应用一定存放在Tomcat的webapps目录。了解一点运维的活儿,我会比较Happy大笑

 

【一】虚拟主机:Virtual Host

 [一]  简介:“虚拟主机”功能可以在一台物理机器上面“模拟”出多台逻辑机器,本质上是将 不同的域名绑定到同一个IP地址上面。尴尬

 [二] 进行DNS设置:修改C:\WINDOWS\system32\drivers\etc下面的hosts文件,示例如下天真

127.0.0.1    localhost www.excelsoft.com

 [三] 修改Tomcat的配置文件/conf/server.xml,添加如下内容:犹豫

  <Host name = "www.excelsoft.com" appBase = "E:\webapps">
      <Context path = "" docBase = "E:\webapps\first-web" reloadable = "false"/>
  </Host>

  [说明]
  1.  可以设置多台虚拟主机、也可以给一台虚拟主机添加多个web应用。大笑
  2. jsp页面编译为class文件的存放路径如下,最后一个层级为虚拟主机的名称:
   \work\Catalina\www.excelsoft.com尴尬

  [四] 再次修改server.xml:修改为缺省的80端口、http协议默认即为80端口惊讶

  <Connector port="80" protocol="HTTP/1.1" 
    connectionTimeout="20000" 
    redirectPort="8443"
  />

     访问路径为:http://www.excelsoft.com

  [五] 关于默认主机:如果通过IP地址进行访问、默认访问的是localhost虚拟主机。叫喊

   <Engine name="Catalina" defaultHost="localhost">
       <Host name="localhost"  appBase="webapps"
         unpackWARs="true" autoDeploy="true"
	 xmlValidation="false" xmlNamespaceAware="false">
	    ..
       </Host>
   </Engine>

   [说明]
   1. unpackWARs:默认为true
    是否将web应用的war包进行解压缩,即使不解压缩仍可访问。惊讶
   2. autoDeploy:默认为true吻
    在Tomcat运行时添加新的war包、是否自动进行部署,如果设为false、在Tomcat重启时才会进行部署。
   3. 创建war包:创建war包、占用更少的存储空间,便于进行网络传输。

       使用jar命令:

jar -cvf first-web.war first-web

      使用winRar:创建first-web.rar,修改后缀名为war即可。大笑

 

 【二】 虚拟目录:Virtual Directory

 [一] 简介:虚拟目录,用于将服务器上面的一个web应用目录、映射为可供外部用户访问的url路径。Apache、Tomcat、Nginx等web服务器都有虚拟目录的概念。尴尬

 [二] 修改server.xml:这是一种不被推荐的方式,需要重启Tomcat才能生效。

    <1>. 在<Host>节点下面添加:  

<Context path = "" docBase = "E:\webapps\first-web" reloadable = "false"/>

   [说明]酷
    1. 缺省的访问路径:访问时无需添加web应用的名称。
    2. 通过docBase自定义web应用的存放路径:不再要求一定存放在Tomcat的webapps路径下面。
    3. 设置reloadable属性为false:当class文件发生替换时、Tomcat的类加载器不会重新加载,生产环境

    下应设为false、避免反复加载严重影响Tomcat的效率。

    <2>.  其他示例:  哭

<Context path = "/first" docBase = "E:\webapps\first-web" reloadable = "true"/>

   [说明]
   1. 访问路径为/first
   2. 开发环境下reloadable为true:java文件修改编译之后、Tomcat会重新加载。
   3. 关于path:皱眉
    如果访问路径缺省、那么jsp转为java文件并编译的存放路径为"_",即
      \work\Catalina\www.excelsoft.com\_\org\apache\jsp
      - index_jsp.java
      - index_jsp.class
    如果path设为/first、jsp文件的编译存放路径为
      \work\Catalina\www.excelsoft.com\first\org\apache\jsp

    4. 关于项目资源修改后的重新加载:保密

      html/css/js:静态资源修改后无须重启Tomcat,用户访问时、Tomcat直接加载最新的资源。

      jsp页面:修改后无须重启Tomcat,用户访问jsp页面时,Tomcat会比较该jsp页面和由该jsp页面编译

   生成的class文件的时间戳,如果jsp页面较新Tomcat会重新编译并覆盖掉之前的class文件。

      class文件:在开发环境下可设置reloadable属性为true,如果修改了java文件并重新编译为class文件,
   Tomcat的类加载器会重新加载(reload)该class。

    <3>. 不需要重启Tomcat的方式:尴尬

    1. 修改server.xml:主机名www.excelsoft.com不再包含<Context>节点。

   <Host name = "www.excelsoft.com">
   </Host>

    2. 进入\conf\Catalina目录,创建文件夹www.excelsoft.com(和虚拟主机名保持一致)蠢话

    3. 进入该文件夹,创建first.xml,内容如下:

   <?xml version="1.0" encoding="UTF-8"?>
   <Context path = "/first" docBase = "E:\webapps\first-web" reloadable = "true"/>

   [说明]
     要求文件名和访问路径保持一致。
     无须重启Tomcat:文件名修改为first_web.xml、同时修改访问路径为path = "/first_web"大笑
     如果修改了默认访问路径,需要重启Tomcat:眨眼文件名称修改为ROOT.xml、访问路径修改为path = ""

 

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

对Tomcat的了解总算深入了一点,还有更多精彩内容需要研究!

欢迎拍砖或点赞!微笑

0
0
分享到:
评论

相关推荐

    tomcat学习笔记

    【标题】:Tomcat学习笔记 【正文】: Tomcat是一款广泛应用的开源Web服务器和Java Servlet容器,由Apache软件基金会的Jakarta项目开发。它实现了Java Servlet和JavaServer Pages(JSP)规范,并且作为轻量级应用...

    Tomcat学习笔记

    《Tomcat学习笔记》 Tomcat是一款开源的Java Servlet容器,是Apache软件基金会下的Jakarta项目中的核心项目,主要用于运行Java Web应用程序。本笔记将详细阐述Tomcat的安装、配置、虚拟主机设置、JDBC数据库连接池...

    tomcat笔记

    【标题】:Tomcat笔记 【内容】 Tomcat是一款由Apache软件基金会开发的开源Web服务器和Servlet容器,它是Java EE(现在称为Jakarta EE)的一部分,特别针对...希望这些笔记能为你的Tomcat学习之旅提供有价值的参考。

    javaweb 学习笔记

    以上是关于 JavaWeb 学习笔记中提到的主要知识点,包括 Web 应用的基本概念、目录结构、配置文件详解以及 Tomcat 的虚拟目录和虚拟主机配置方法。希望这些内容能帮助初学者更好地理解 JavaWeb 开发的核心要素和技术...

    apache-tomcat-7.0.47.rar

    1. **配置文件**:Tomcat的主配置文件是`conf/server.xml`,在这里定义了端口、连接器、虚拟主机和其他服务器设置。 2. **日志管理**:日志文件位于`logs`目录下,了解如何配置和分析这些日志对于问题排查至关重要。...

    web学习笔记 —— tomcat

    【标题】:“Web学习笔记——Tomcat” 在Web开发领域,Tomcat是一个广泛使用的Java Servlet容器,它实现了Java EE中的Web部分,特别是Servlet和JSP规范。Tomcat以其开源、轻量级和高效的特性,成为了许多小型项目和...

    Linux云计算 运维架构师学习笔记

    ### Linux云计算运维架构师学习笔记 #### Tomcat与云计算架构师技能树 ##### Tomcat简介与功能 **Tomcat**是Apache软件基金会Jakarta项目的一个关键组成部分,它由Apache、Sun和其他公司及个人共同开发而成。Sun...

    apache-tomcat-9.0.37(已部署自制的登录页面).zip

    这涉及到设置环境变量、修改`server.xml`配置文件以添加或移除虚拟主机、调整内存分配、配置日志记录、以及安全管理等方面的知识。而在这个压缩包中,预部署的登录页面则意味着开发者可能已经完成了这些配置工作,...

    javaWeb学习笔记.pdf

    ### JavaWeb 学习笔记知识点总结 #### 一、JSP 概述 - **定义**: JSP(Java Server Pages)是一种基于Java的服务器端技术,用于创建动态网页。它结合了HTML标记、脚本语言(如JavaScript)以及Java代码片段来生成...

    大数据学习笔记(总结版).docx

    ### 大数据学习笔记知识点梳理 #### 一、CentOS基本操作 - **保存与退出编辑模式**:在使用如`vim`等文本编辑器时,编辑完成后可通过按`Esc`键并输入`:wq`来保存并退出。 - **使配置生效**:通过`source /etc/...

    How Tomcat Works 读书笔记(第三章)

    每个Host代表一个虚拟主机,可以在同一个Tomcat实例中配置多个Host,对应不同的域名。Host下可以有多个Context,每个Context对应一个Web应用程序,通常是一个WAR文件或者一个解压后的目录结构。 当请求到达后,...

    学习tomcat源码+英文《How Tomcat Work》和每一章的相关项目+tomcat6源码依赖jar

    6. **Connector(Engine、Host、Context)**:这些是Tomcat的容器概念,Engine代表整个服务器,Host代表虚拟主机,Context代表应用。每个级别都有自己的生命周期和配置。 《How Tomcat Works》这本书详细介绍了这些...

    浅浅笔记tomcat(web服务器)

    2. 修改虚拟主机配置:同样在`server.xml`中,通过`Host`标签可以配置多个虚拟主机,每个主机对应不同的域名或项目。 五、项目部署 1. 自行部署:将项目文件复制到Tomcat的`webapps`目录下,然后启动服务器即可访问...

    JavaWeb笔记06Tomcat部署方式.pdf

    5. 配置虚拟主机:在某些情况下,为了让不同的Web应用使用不同的域名或IP地址访问,需要在Tomcat中配置虚拟主机。这样,可以一台机器上运行多个Web应用,而每个应用都仿佛在独立的服务器上运行。 6. 应用程序上下文...

    tomcat安装及配置教程master开发笔记

    你可以在此修改端口号、定义虚拟主机、设置连接器等。 2. **web.xml**:全局上下文部署描述符,用于定义默认的Servlet和过滤器设置。 **六、部署Web应用程序** 1. 将WAR文件放入CATALINA_HOME/webapps目录,Tomcat...

    linux入门学习笔记

    ### Linux 入门学习笔记 #### 一、Linux 安装与配置 ##### 1. Linux 的安装方式 - **虚拟机安装**:通过虚拟化技术,在现有操作系统上模拟一个完整的计算机环境,安装 Linux。 - **安装虚拟机软件**: - **...

    nginx 学习笔记实用知识库分享知识分享

    "nginx 学习笔记实用知识库分享知识分享" 以下是从给定的文件中生成的相关知识点: Nginx 介绍 Nginx 是一个自由的、开源的、高性能的 HTTP 服务器和反向代理服务器,使用 C 语言编写,提供了高性能、可靠性和可...

    tomcat6.0 数据源配置

    - **Tomcat配置文档**:`tomcat配置.doc`可能包含了更详细的Tomcat配置信息,如虚拟主机设置、session配置、错误页面处理等,这些都是运行和管理Tomcat服务器时需要了解的关键知识点。 总之,理解并正确配置Tomcat...

    tomcat-learning:本科期间学习Tomcat原始码所获

    2. **安装与配置**:学习如何在不同的操作系统上安装Tomcat,配置服务器端口,管理虚拟主机,以及设置日志和错误处理。 3. **目录结构**:熟悉Tomcat的默认目录结构,如WEB-INF、conf、bin等,了解每个目录的作用和...

    Linux 学习笔记

    ### Linux 学习笔记知识点概览 #### 一、Linux 常见命令与操作 - **基础命令**:在 Linux 系统中,掌握一些基础命令是非常重要的,例如 `ls` (列出目录内容)、`cd` (切换目录)、`pwd` (显示当前工作目录)、`mkdir`...

Global site tag (gtag.js) - Google Analytics