部署Tomcat(Web)服务详解

一、Tomcat服务简介

Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。一般来说,Tomcat虽然和Apache或者Nginx这些Web服务器一样,具有处理HTML页面的功能,然而由于其处理静态HTML的能力远不及Apache或者Nginx,所以Tomcat通常是作为一个Servlet和JSP容器,单独运行在后端。如图:

Tomcat自5.x版本以来,其性能上已经得到了大幅的提升,再加上其开放性的框架和可二次开发等特性,已经完全可以用在访问量不是很大的生产环境下。目前大多数用于JSP技术开发的电子商务网站已经基本应用了Tomcat。

二、安装Tomcat服务

在安装Tomcat之前必须先安装JDK。JDK的全称是Java Development Kit,是Sun公司免费提供的Java语言的软件开发工具包,其中包含Java虚拟机(JVM)。编写好的Java源程序经过编译可形成Java字节码,只要安装了JDK,就可以利用JVM解释这些字节码文件,从而保证了Java的跨平台性。

在平台兼容性方面,JDK作为解释字节码文件并据此调用操作系统API实现对应功能的Java虚拟机,与操作系统类型和平台位数密切相关,因此存在不同类型的版本,而Tomcat也具有上述特征。Centos 7默认情况下已经安装JDK。所以只需下载Tomcat软件即可。

本次案例中使用的软件包apache-tomcat-8.5.16.tar.gz网盘链接:https://pan.baidu.com/s/11Puem2_pMMhEnWAgriJ-sA
提取码:3mzo

(1)检查Java环境

[[email protected] ~]# java -version
openjdk version "1.8.0_102"
OpenJDK Runtime Environment (build 1.8.0_102-b14)
OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)
//用命令查看,已经安装完成。

(2)安装配置Tomcat

Tomcat服务的安装方式十分简单,如下:

[[email protected] ~]# tar zxf apache-tomcat-8.5.16.tar.gz -C /usr/src
[[email protected] ~]# mv /usr/src/apache-tomcat-8.5.16/ /usr/local/tomcat8
//由于Tomcat软件十分简单,无须安装
//为了日后的使用,建议更换其解压后的目录,并为其改名
[[email protected] ~]# /usr/local/tomcat8/bin/startup.sh
//使用Tomcat程序自带的启动脚本启动Tomcat服务
Using CATALINA_BASE:   /usr/local/tomcat8
Using CATALINA_HOME:   /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
Tomcat started.
[[email protected] ~]# netstat -anpt | grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      3493/java
//查看其监听端口(Tomcat服务默认的端口是8080)
[[email protected] ~]# firewall-cmd --add-port=8080/tcp
success
//开启防火墙其服务的端口

(3)客户机访问

三、Tomcat配置文件详解

(1)Tomcat配置相关说明

刚才安装移动后的主目录是/usr/local/tomcat8/

[[email protected] ~]# ll /usr/local/tomcat8/
总用量 92
drwxr-x---. 2 root root  4096 9月   4 23:56 bin
drwx------. 3 root root   254 9月   4 23:57 conf
drwxr-x---. 2 root root  4096 9月   4 23:56 lib
-rw-r-----. 1 root root 57092 6月  22 2017 LICENSE
drwxr-x---. 2 root root   240 9月   5 00:02 logs
-rw-r-----. 1 root root  1723 6月  22 2017 NOTICE
-rw-r-----. 1 root root  7064 6月  22 2017 RELEASE-NOTES
-rw-r-----. 1 root root 15946 6月  22 2017 RUNNING.txt
drwxr-x---. 2 root root    30 9月   4 23:56 temp
drwxr-x---. 7 root root    81 6月  22 2017 webapps
drwxr-x---. 3 root root    22 9月   4 23:57 work

主要目录说明:

  • bin:存放Windows或Linux平台上启动或关闭Tomcat的脚本文件;
  • conf:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml;
  • lib:存放Tomcat运行需要的库文件(JARS);
  • logs:存放Tomcat执行时的LOG文件;
  • webapps:Tomcat的主要Web发布目录(包括应用程序实例);
  • work:存放JSP编译后产生的class文件。
[[email protected] ~]# ll /usr/local/tomcat8/conf/
总用量 224
drwxr-x---. 3 root root     23 9月   4 23:57 Catalina
-rw-------. 1 root root  13816 6月  22 2017 catalina.policy
-rw-------. 1 root root   7376 6月  22 2017 catalina.properties
-rw-------. 1 root root   1338 6月  22 2017 context.xml
-rw-------. 1 root root   1149 6月  22 2017 jaspic-providers.xml
-rw-------. 1 root root   2358 6月  22 2017 jaspic-providers.xsd
-rw-------. 1 root root   3622 6月  22 2017 logging.properties
-rw-------. 1 root root   7511 6月  22 2017 server.xml
-rw-------. 1 root root   2164 6月  22 2017 tomcat-users.xml
-rw-------. 1 root root   2633 6月  22 2017 tomcat-users.xsd
-rw-------. 1 root root 168251 6月  22 2017 web.xml

主要配置文件说明:

  • catalina.policy:权限控制配置文件;
  • catalina.properties:Tomcat属性配置文件;
  • context.xml:上下文配置文件;
  • logging.properties:日志log相关配置文件;
  • server.xml:主配置文件;
  • tomcat-users.xml:manager-gui管理配置文件(Tomcat安装后默认提供一个manager管理界面,通过配置该文件可以开启访问);
  • web.xml:Tomcat的servlet、servlet-mapping、filter、MIME等相关配置。

(2)Tomcat主配置文件说明

server.xml为Tomcat的主要配置文件,通过配置该文件,可以修改Tomcat的启动端口、网站目录、虚拟主机、开启https等重要功能。

整个server.xml由以下结构构成:<Server>、<Service>、<Connector /><Engine >、<Host>、<Context>、</Context></Host></Engine></Service>和</Server>。

以下是默认安装server.xml文件的部分内容,其中<!-- -->内的内容时注释信息(经常修改的地方已经附有注释信息)。

[[email protected] ~]# vim /usr/local/tomcat8/conf/server.xml
<?xml version="1.0" encoding="UTF-8"?>
............                                  //省略部分内容
<Server port="8005" shutdown="SHUTDOWN">
//Tomcat关闭端口,默认只对本机地址开放,可以在本机通过Telnet  127.0.0.1 8005访问,
//对Tomcat进行关闭操作
............                                  //省略部分内容
 <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
//Tomcat启动的默认端口号8080,可以根据需要进行更改。
............                                  //省略部分内容
 <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
//Tomcat启动AJP 1.3连接器时默认的端口号,可以根据需要进行更改
............                                  //省略部分内容
//以下为Tomcat定义虚拟主机时的配置及日志配置
<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <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>
    </Engine>
  </Service>
</Server>

(3)Tomcat Server的组成部分说明

1)Server

server元素代表了整个CatAlina的servlet容器。

2)Service

Service是这样一个集合:它由一个或者多个Connector,以及一个Engine(负责处理所有Connector所获得的客户请求)组成。

3)Connector

一个Connector在某个指定端口上侦听客户请求,并将获得的请求交给Engine来处理,从Engine处获得回应并返回客户。

Tomcat有两个典型的Connector:一个直接侦听来自browser的http请求,一个侦听来自其他webserver的请求。

  • Coyote HTTP/1.1 Connector在端口8080处侦听来自客户browser(浏览)的http请求;
  • Coyote JK2 Connector 在端口8009处侦听来自其他文本server(Apache)的servlet/jsp代理请求。

4)Engine:

Engine下可以配置多个虚拟主机virtual host,每个虚拟主机都有一个域名。

当Engine获得一个请求时,它把该请求匹配到某个Host上,然后把该请求交给该host来处理。

Engine有一个默认虚拟主机,当请求无法匹配到任何一个host上时,将交给该默认主机处理。

5)Host

Host代表一个virtual Host(虚拟主机),每个虚拟主机和某个网络域名Domain Name相匹配。

每个虚拟主机下都可以部署一个或多个web app,每个web app对应一个Context,有一个Context path。

当host获得一个请求时,将把该请求匹配到某个Context上,然后把该请求交给该Context来处理,匹配的方法是“最长匹配”,所以一个path==""的Context将成为该Host的默认Context。
所有无法和其他Context的路径名匹配的请求都将最终和该默认Context匹配。

6)Context

一个Context对应一个web application ,一个web application由一个或者多个servlet组成。

四、建立Java的虚拟目录站点

(1)建立虚拟目录,用于存放网站文件

[[email protected] ~]# mkdir -p /web/webapp

(2)建立一个Java语言编写的测试文件

[[email protected] ~]# vim /web/webapp/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
        <head>
                <title>JSP test1 page</title>
</head>
<body>
<% out.println("welcome to test");%>
</body>
</html>

(3)修改Tomcat的主配置文件

[[email protected] ~]# vim /usr/local/tomcat8/conf/server.xml
                          ……………………          //省略部分内容
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
//host定义一个虚拟主机,域名为localhost,appBase定义应用程序基准目录,unpackWARs定义是否自动解压,autoDeploy定义是否自动部署
        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <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" />
        <Context docBase="/web/webapp" path="" reloadable="false">
        </Context>
//context定义一个web应用(虚拟目录),path指定访问目录,docBase定义网页目录,当应用程序发生变化时候,自动装载,不用重启tomcat(手动添加 <Context  ……></Context>内容)

      </Host>
[[email protected] ~]# /usr/local/tomcat8/bin/shutdown.sh
[[email protected] ~]# /usr/local/tomcat8/bin/startup.sh
//重启Tomcat服务

(4)客户机访问测试

这说明Tomcat服务虚拟目录已经生效!

———————— 本文至此结束,感谢阅读 ————————

原文地址:https://blog.51cto.com/14157628/2435536

时间: 2024-09-28 11:30:58

部署Tomcat(Web)服务详解的相关文章

Nginx Web 服务详解

一.初识Nginx软件 Nginx是一款非常优秀的web服务软件,不但可以做web服务软件,还可以做反向代理负载均衡和前端业务的缓存服务 作为web服务软件Nginx是一个支持高性能高并发的web服务软件,它具有很多优秀的特性,作为web服务器与apache相比nginx可以支持更多的并发连接访问,但占用的资源却更少,效率更高,在功能上也强大了许多 作为反向代理或负载均衡服务在反向代理或负载均衡反面nginx可以作为web服务.php等动态服务及Memcached缓存代理服务,它具有类似专业反向

高性能Web服务之tomcat基础应用详解(一)

Tomcat概述: Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun 和其他一些公司及个人共同开发而成.由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范.因为Tomcat 技术先进.性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目

Web.xml详解(转)

这篇文章主要是综合网上关于web.xml的一些介绍,希望对大家有所帮助,也欢迎大家一起讨论. ---题记 一.            Web.xml详解: (一)  web.xml加载过程(步骤) 首先简单说一下,web.xml的加载过程. 当我们去启动一个WEB项目时,容器包括(JBoss.Tomcat等)首先会读取项目web.xml配置文件里的配置,当这一步骤没有出错并且完成之后,项目才能正常地被启动起来. l  启动WEB项目的时候,容器首先会去它的配置文件web.xml读取两个节点: 

Tomcat基础配置详解

Tomcat基础配置详解 组件原理图如下: 任何tomcat实例就是一个server,而一个server内部要想能够解析jsp页面转义编译serlet程序,要靠其引擎来实现 而引擎才是真正意义上执行jsp代码的容器,都是tomcat用类来描述这些组件的 同时,为了接受用户的请求,需要基于connector组件,所谓监听的套接字的程序,能够接手用户的请求,被称为连接器 一个server内部可以完全运行N个引擎,无非就是运行多个虚拟机而已 war包的概念 放在网页目录可以直接访问,而部署的时候可以自

web.config详解

在开发中经常会遇到这样的情况,在部署程序时为了保密起见并不将源代码随项目一同发布,而我们开发时的环境与部署环境可能不一致(比如数据库不一样),如 果在代码中保存这些配置这些信息部署时需要到用户那里更改代码再重新编译,这种部署方式非常麻烦.在.net中提供了一种便捷的保存项目配置信息的办法, 那就是利用配置文件,配置文件的文件后缀一般是.config,在asp.net中配置文件名一般默认是web.config.每个web.config 文件都是基于XML的文本文件,并且可以保存到Web应用程序中的

HTTPD服务详解

HTTPD服务详解 目录 一.httpd的程序版本 二.httpd的特性 三.httpd的功能特性 四.httpd使用 1.httpd的安装 2.程序环境 Httpd-2.2 (Centos6) http-2.4 (Centos7) 五.http配置相关说明 1.修改监听的ip和port 2.持久连接 3.MPM 4.DSO配置指令模块加载 5.定义Main'server文档页面路径 6.站点访问控制 文件系统路径 URL路径 7.<Directory> 中基于源地址实现访问控制 Option

Web Material-UI 详解(一) 环境搭建与Helloword

Web Material-UI 详解(一) 环境搭建与Helloword 版权声明:转载必须注明本文转自严振杰的博客: http://blog.yanzhenjie.com 今天介绍一款实现Material Design的开源项目Material-UI,它是一组用来实现Google的Material Design设计规范的React组件,它是一个前端js框架,主要用在web领域,今天主要带领大家认识一下它的面貌,并且实现一个Helloword. Google Material Design官网:

CentOS 默认基本服务详解

1.使用chkconfig --list来查看安装的服务,比如我这里最小化安装后的一些服务 [[email protected] ~]# chkconfig --list auditd          0:off   1:off  2:on    3:on    4:on   5:on    6:off crond           0:off   1:off  2:on    3:on    4:on   5:on    6:off ip6tables       0:off  1:off

winxp计算机管理中服务详解

winxp计算机管理中服务详解01 http://blog.sina.com.cn/s/blog_60f923b50100efy9.html http://blog.sina.com.cn/s/blog_b08c76100102vijm.html winxp计算机管理中服务详解02 http://blog.sina.com.cn/s/blog_60f923b50100efz3.html http://blog.sina.com.cn/s/blog_b08c76100102vijn.html

nginx高性能web服务器详解(1)--安装nginx

1. 下载 本次使用nginx-0.1.2.3 版本,下载地址 http://nginx.org/en/download.html  新发布版本 http://nginx.org/download  历史版本 2.上传到linux服务器 sz -bey nginx-0.1.2.3.tar.gz 3.解压 3.1 建立目录  mkdir nginx_123 3.2 解压 tar -zxvf nginx-0.1.2.3.tar.gz ./nginx_123/ 4.配置编译环境 nginx源代码的编译