前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Tomcat入门 原

Tomcat入门 原

作者头像
阿dai学长
发布2019-04-03 10:05:10
4910
发布2019-04-03 10:05:10
举报
文章被收录于专栏:阿dai_linux

此前虽然对Tomcat有一些了解,但是在使用的时候总感觉云里雾里,索性趁着现在比较清闲,把Tomcat的基础知识整理一下,不足之处还请各位路过的客官多多指正。

简介

Apache Tomcat是由Apache Software Foundation(ASF)开发的一个开源Java WEB应用服务器。

Tomcat是用Java语言编写的,需要运行在Java虚拟机上,所以一般需要先安装JDK,以提供运行环境。

Tomcat实现了几个Java EE规范,包括Java Servlet、Java Server Pages(JSP),Java Expression Language和Java WebSocket等,这些是都下载Tomcat安装包默认提供的,可以在源码中看到相关Java EE 规范API源码引用。

安装jdk

使用二进制包安装,下载解压并移动/usr/local/jdk1.8,然后配置环境变量:

代码语言:javascript
复制
JAVA_HOME=/usr/local/jdk1.8/
JAVA_BIN=/usr/local/jdk1.8/bin
JRE_HOME=/usr/local/jdk1.8/jre
PATH=$PATH:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin
CLASSPATH=/usr/local/jdk1.8/jre/lib:/usr/local/jdk1.8/lib:/usr/local/jdk1.8/jre/lib/charsets.jar

详细安装步骤点这里

安装Tomcat

  • 下载二进制包进行安装:
代码语言:javascript
复制
$ wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.38/bin/apache-tomcat-8.5.38.tar.gz
$ tar zxvf apache-tomcat-8.5.38.tar.gz 
$ mv apache-tomcat-8.5.38 /usr/local/tomcat
  • 启动:
代码语言:javascript
复制
$ /usr/local/tomcat/bin/startup.sh 
$ netstat -lntp |grep java
tcp6       0      0 :::8009                 :::*                    LISTEN      50401/java          
tcp6       0      0 :::8080                 :::*                    LISTEN      50401/java          
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      50401/java 
$ ps -ef |grep tomcat
  • 8005:管理端口;
  • 8009:第三方服务调用端口,比如httpd和Tomcat结合的时候会用到;
  • 8080:web服务端口;

Tomcat文件介绍

官方文档

目录及文件
  • /bin:各种执行脚本,如启动服务、停止服务脚本等,*.sh 用于Unix系统;
  • /conf:配置文件及相关的 DTDs (XML 文档类型定义,俗称 DTD,它是一种准确描述 XML 语言的方式。)这里最重要的文件是server.xml,它是容器的主要配置文件;
  • /logs:日志文件;
  • /webapps:webapp的存放位置。
CATALINA_HOME 和 CATALINA_BASE
  • CATALINA_HOME:Tomcat的安装根目录,如/home/tomcat/apache-tomcat-8.5.38
  • CATALINA_BASE:表示特定Tomcat实例的运行时配置文件根目录。如果要在一台计算机上拥有多个Tomcat实例,请使用该 CATALINA_BASE 属性。
为什么使用CATALINA_BASE?

默认情况下,CATALINA_HOME 和 CATALINA_BASE指向相同的目录,可以通过手动配置CATALINA_BASE在同一台机器上运行多个Tomcat实例,主要有以下好处:

  • 便于管理和升级Tomcat。由于所有Tomcat实例共享一个CATALINA_HOME中的 .jar文件和二进制文件,因此您可以轻松地将文件升级到较新版本,并通过CATALIA_HOME目录将更改应用到所有Tomcat实例;
  • 避免重复相同的静态.jar文件;
  • 共享某些特定的文件,如setenv shell
CATALINA_BASE及CATALINA_HOME的文件内容

在开始使用CATALINA_BASE之前,首先考虑并创建CATALINA_BASE使用的目录树。请注意,如果您不创建所有推荐的目录,Tomcat会自动创建目录。如果无法创建必要的目录,例如由于权限问题,Tomcat将无法启动,或者可能无法正常运行。

CATALINA_BASE 文件结构:

代码语言:javascript
复制
CATALINA_BASE
├── bin
│   └── setenv.sh  # 只放该文件
├── conf # cp CATALINA_HOME/conf/* CATALINA_BASE/conf/ ;至少含有以下两个配置文件
│   ├── server.xml
│   └── web.xml
├── lib
├── logs
├── temp
├── webapps
└── work

CATALINA_HOME 文件结构:

代码语言:javascript
复制
CATALINA_HOME
├── bin
│   └── startup.sh
│   └── shutdown.sh 
├── lib
└── endorsed
  • bin/setenv.sh:设置所有的环境变量,默认情况下,setenv脚本文件不存在。文件格式如下: #!/bin/sh export JAVA_HOME="/usr/java/latest" # -Xmx{{ heap_size }} -Xms{{ heap_size }} # export CATALINA_OPTS="-XX:+UseParallelGC {{ JAVA_OPTS }} -Djava.security.egd=file:/dev/./urandom" export CATALINA_PID="$CATALINA_BASE/tomcat.pid" export CATALINA_BASE="/usr/local/tomcat"
  • 关于lib文件:将标准的Tomcat库放在 CATALINA_HOME / lib 文件下,将其他库,如数据库驱动程序等添加到对应的 CATALINA_BASE / lib 目录下。Tips:一般情况下,建议Web应用程序之间的库永远不要共享,将它们放入应用程序内的WEB-INF / lib目录中。
  • 关于conf文件:建议将 CATALINA_HOME/conf 所有文件拷贝到 CATALINA_HOME/conf
如何使用CATALINA_BASE文件?

CATALINA_BASE属性是一个环境变量。您可以在执行Tomcat启动脚本之前进行设置,例如:

代码语言:javascript
复制
CATALINA_BASE=/tmp/tomcat_base1 bin/catalina.sh start
代码语言:txt
复制
 (adsbygoogle = window.adsbygoogle || []).push({});
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 安装jdk
  • 安装Tomcat
    • Tomcat文件介绍
      • 目录及文件
      • CATALINA_HOME 和 CATALINA_BASE
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档