美文网首页
Tomcat服务器学习和使用

Tomcat服务器学习和使用

作者: 提笔忘字_波 | 来源:发表于2019-05-07 16:01 被阅读0次

一、Tomcat服务器端口的配置

  • Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件。
  • 如果想修改Tomcat服务器的启动端口,则可以在server.xml配置文件中的Connector节点进行的端口修改。
    将Tomcat服务器启动端口修改成8081端口--修改config/server.xml文件
修改前
<Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="20000"
redirectPort="8443" />
修改后
<Connector port="8081" protocol="HTTP/1.1"  connectionTimeout="20000"
 redirectPort="8443" />

二、Tomcat服务器虚拟目录的映射方式

Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射。那么在Tomcat服务器中,如何进行虚拟目录的映射呢?总共有如下的几种方式:

2.1 虚拟目录的映射方式一:在server.xml文件的host元素中配置

默认的host配置
  <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
   </Host>

在<Host></Host>这对标签加上<Context path="/JavaWebApp" docBase="F:\JavaWebDemoProject" />即可将在F盘下的JavaWebDemoProject这个JavaWeb应用映射到JavaWebApp这个虚拟目录上,JavaWebApp这个虚拟目录是由Tomcat服务器管理的,JavaWebApp是一个硬盘上不存在的目录,是我们自己随便写的一个目录,也就是虚拟的一个目录,所以称之为"虚拟目录"。
修改后的host配置
<Host name="localhost"  appBase="webapps"
             unpackWARs="true" autoDeploy="true"
             xmlValidation="false" xmlNamespaceAware="false">
         <Context path="/JavaWebApp" docBase="F:\JavaWebDemoProject" />
 </Host>


Context表示上下文,代表的就是一个JavaWeb应用,Context元素有两个属性,
- path:用来配置虚似目录,必须以"/"开头。
- docBase:配置此虚似目录对应着硬盘上的Web应用所在目录

请求路径:localhost:8080/JavaWebApp/..

2.2 虚拟目录的映射方式二:让tomcat服务器自动映射

tomcat服务器会自动管理webapps目录下的所有web应用,并把它映射成虚似目录。换句话说,tomcat服务器webapps目录中的web应用,外界可以直接访问。
1、JavaWebDemoProject这个JavaWeb应用直接copy到tomcat服务器webapps目录中。
2、localhost:8080/JavaWebDemoProject/..

2.3 虚拟目录的映射方式三

1、在tomcat服务器的\conf\Catalina\localhost目录下添加一个以xml作为扩展名的文件,xml文件的名字可以任意取,比如下面的aa.xml,注意这一句话"The context path and version will be derived from the base name of the file",这一句话的意思翻译过来就是"context元素的path属性源自于是这个xml文件的名字",上面提到过,Context元素的path属性是用来配置虚似目录的名称的,所以虚似目录的名称就是这个xml文件的名称。
2、在aa.xml文件中添加Context元素映射JavaWeb应用,代码如下:

<Context docBase="F:\JavaWebDemoProject" />

三、Tomcat服务器配置虚似主机

3.1、配置虚拟主机

配置虚似主机就是配置一个网站。
  在Tomcat服务器配置一个虚拟主机(网站),需要修改conf文件夹下的server.xml这个配置文件,使用Host元素进行配置,打开server.xml,可以看到Tomcat服务器自带的一个名称为localhost的虚拟主机(网站),如下图所示:

<Host name="www.gacl.cn" appBase="F:\JavaWebApps"></Host>

平时我们将开发好的JavaWeb应用放到webapps文件夹下,然后就可以使用"http://localhost:端口号/JavaWebAppName"的方式去访问了,其实访问的就是name是"localhost"的那台虚拟主机(Host),这台虚拟主机管理webapps文件夹下的所有web应用。
例如:http://localhost:8080/JavaWebDemoProject/1.jsp,这个URL地址访问的就是名称是localhost的那台虚拟主机下的JavaWebDemoProject这个应用里面的1.jsp这个web资源。
这里我们新配置一个虚拟主机,虚拟主机的name是"www.gacl.cn",虚拟主机"www.gacl.cn"现在管理着JavaWebApps文件夹下的所有web应用,平时我们在互联网上使用域名"www.baidu.com"访问百度的网站时,其实就是在访问一个名称是"www.baidu.com"的虚拟主机,所以当我们要访问name是"www.gacl.cn"的这个虚拟主机时,就可以使用"域名(www.gacl.cn)"去访问。

3.2 通过域名被外部访问

配置的主机(网站)要想通过域名被外部访问,必须在DNS服务器或windows系统中注册访问网站时使用的域名,找到"C:\Windows\System32\drivers\etc"目录下的hosts文件。

4、浏览器与服务器交互的过程

1、浏览器根据主机名"www.gacl.cn"去操作系统的Hosts文件中查找主机名对应的IP地址。
2、浏览器如果在操作系统的Hosts文件中没有找到对应的IP地址,就去互联网上的DNS服务器上查找"www.gacl.cn"这台主机对应的IP地址。
3、浏览器查找到"www.gacl.cn"这台主机对应的IP地址后,就使用IP地址连接到Web服务器。
4、浏览器连接到web服务器后,就使用http协议向服务器发送请求,发送请求的过程中,浏览器会向Web服务器以Stream(流)的形式传输数据,告诉Web服务器要访问服务器里面的哪个Web应用下的Web资源。

5、打包JavaWeb应用

jar -cvf JavaWebApps.war JavaWebApps

6、Tomcat的体系结构

image.png

Tomcat服务器的启动是基于一个server.xml文件的,Tomcat启动的时候首先会启动一个Server,Server里面就会启动Service,Service里面就会启动多个"Connector(连接器)",每一个连接器都在等待客户机的连接,当有用户使用浏览器去访问服务器上面的web资源时,首先是连接到Connector(连接器),Connector(连接器)是不处理用户的请求的,而是将用户的请求交给一个Engine(引擎)去处理,Engine(引擎)接收到请求后就会解析用户想要访问的Host,然后将请求交给相应的Host,Host收到请求后就会解析出用户想要访问这个Host下面的哪一个Web应用,一个web应用对应一个Context。

<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
  <Service name="Catalina">
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" 
               keystoreFile="conf/.keystore" keystorePass="123456"/>
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    <Engine name="Catalina" defaultHost="localhost">
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>
      <Host name="www.gacl.cn" appBase="F:\JavaWebApps">
        <Context path="" docBase="F:\JavaWebApps\JavaWebDemo1"/>
      </Host>
    </Engine>
  </Service>
</Server>

7、https连接器

7.1 生成Tomcat服务器的数字证书

1、SUN公司提供了制作证书的工具keytool, 在JDK 1.4以后的版本中都包含了这一工具,它的位置为<JAVA_HOME>\bin\keytool.exe
2、命令执行完之后,操作系统的用户文件夹下面就会生成一个.keystore文件,如下图所示:
3、使用命令:keytool -list -keystore .keystore查看.keystore密钥库里面的所有证书

7.2 配置https连接器

1、将生成的.keystore密钥库文件拷贝到Tomcat服务器的conf目录下。
2、修改server.xml文件,配置https连接器,代码如下:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" 
               keystoreFile="conf/.keystore" keystorePass="123456"/>

在server.xml文件中配置了一个端口是8443的加密连接器,浏览器访问8443端口的连接器时,将会以加密的方式来访问web服务器,这个连接器收到浏览器的请求后,将会向浏览器出示一份数字证书,浏览器再用数字证书里面的公钥来加密数据,keystoreFile="conf/.keystore" 用来指明密钥库文件的所在路径,服务器从密钥库中提取证书时需要密码,keystorePass="123456"指明密钥库的访问密码。

https://www.cnblogs.com/xdp-gacl/p/3744053.html

相关文章

  • Tomcat服务器的使用

    Tomcat服务器的使用 目录介绍(3个重要) tomcat服务器访问网址 启动和关闭Tomcat主程序 播放器项...

  • Tomcat服务器学习和使用

    一、Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是...

  • Tomcat

    tomcat 服务器快速使用 Apache官网下载Tomcat服务器软件:解压版与安装版! Tomcat目录结构 ...

  • liunx看日志2018/08/13_day26 tomca

    使用什么发布网站 使用Tomcat发布Tomcat :网站的服务器 如何发布一个网站 使用Tomcat发布Weba...

  • tomcat

    使用什么发布网站 使用Tomcat发布Tomcat :网站的服务器 如何发布一个网站 使用Tomcat发布Weba...

  • Tomcat

    使用什么发布网站 使用Tomcat发布Tomcat :网站的服务器 如何发布一个网站 使用Tomcat发布Weba...

  • tomcat源码分析(1) Embed Tomcat快速搭建

    tomcat是我们常用web服务器,这里我们使用嵌入式tomcat进行讲解,后续使用tomcat源码进行分析(如果...

  • java基础参考资料

    JavaWeb学习总结(一)——JavaWeb开发入门 JavaWeb学习总结(二)——Tomcat服务器学习和使...

  • 基于Tomcat思想的简单web服务器(1)

    本文是为了学习Tomcat源码之前,先理解web服务器的思想而写的 Tomcat作为web服务器,其实就是和客户端...

  • 简单测试get和post请求

    本文的目的是记录学习http过程遇到的问题,因此使用tomcat搭建了服务器,简单测试get和post,本篇只是简...

网友评论

      本文标题:Tomcat服务器学习和使用

      本文链接:https://www.haomeiwen.com/subject/xbweoqtx.html