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

Tomcat安装部署

作者头像
胡齐
发布2019-11-18 17:17:01
1.2K0
发布2019-11-18 17:17:01
举报
文章被收录于专栏:运维猫

1、Tomcat简介

官网:http://tomcat.apache.org/

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

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为9.0.27。

Tomcat服务器是一个免费的开源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下使用,是开发和调试JSP程序的首选。TomcatNginxApacheWeb服务器一样,具有处理HTML页面的功能,另外它还是一个ServletJSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Nginx/Apache服务器。一般情况下多用Nginx+TomcatNginx处理静态,Tomcat处理动态程序。

2、部署Java环境

代码语言:javascript
复制
 ## 解压软件包
 [root@ansible ~]# tar xf jdk-8u91-linux-x64.tar.gz -C /usr/local/
 ## 创建一个软链接
 [root@ansible ~]# ln -s /usr/local/jdk1.8.0_91/ /usr/local/java
 ## 添加环境变量
 [root@ansible ~]# sed -i.ori '$a export JAVA_HOME=/usr/local/java \nexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH \nexport CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar' /etc/profile
 ## 重新加载环境变量
 [root@ansible ~]# source /etc/profile
 [root@ansible ~]# env |grep JAVA
 JAVA_HOME=/usr/local/java
 ## 查看是否安装成功
 [root@ansible ~]# java -version
 java version "1.8.0_91"
 Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
 Java HotSpot(TM) 64-BitServer VM (build 25.91-b14, mixed mode)

3、部署Tomcat

代码语言:javascript
复制
 ## 解压软件包
 [root@ansible ~]# tar xf apache-tomcat-9.0.21.tar -C /usr/local/
 ## 创建一个软链接
 [root@ansible ~]# ln -s /usr/local/apache-tomcat-9.0.21/ /usr/local/tomcat
 ## 定义tomcat所需的环境变量
 [root@ansible ~]# echo "export TOMCAT_HOME=/usr/local/tomcat" >> /etc/profile
 ## 重新加载环境变量
 [root@ansible ~]# source /etc/profile

4、Tomcat目录结构

代码语言:javascript
复制
 [root@ansible tomcat]# cd /usr/local/tomcat/
 [root@ansible tomcat]# tree -L 1
 .
 ├── bin  ##存放启动、关闭tomcat或者其它功能的脚本(.bat文件和.sh文件)
 ├── BUILDING.txt
 ├── conf  ##存放tomcat配置相关的文件
 ├── CONTRIBUTING.md
 ├── lib  ##存放Web应用能访问的JAR包
 ├── LICENSE
 ├── logs  ##存放tomcat日志文件
 ├── NOTICE
 ├── README.md
 ├── RELEASE-NOTES
 ├── RUNNING.txt
 ├── temp  ##临时文件
 ├── webapps  ##Web应用程序的跟目录
 └── work  ##用以产生有JSP编译出的Servlet的.java和.class文件
 
 7directories, 7files

1.tomcat配置文件存放在安装目录conf

代码语言:javascript
复制
 [root@ansible webapps]# cd /usr/local/tomcat/conf/
 [root@ansible conf]# ll
 总用量 228
 -rw-------. 1root root  128736月   504:23 catalina.policy
 -rw-------. 1root root   72436月   504:23 catalina.properties
 -rw-------. 1root root   14006月   504:23 context.xml
 -rw-------. 1root root   11496月   504:23 jaspic-providers.xml
 -rw-------. 1root root   23136月   504:23 jaspic-providers.xsd
 -rw-------. 1root root   41446月   504:23 logging.properties
 -rw-------. 1root root   75116月   504:23 server.xml  ##主配置文件
 -rw-------. 1root root   21646月   504:23 tomcat-users.xml  ##Tomcat管理用户配置文件
 -rw-------. 1root root   26336月   504:23 tomcat-users.xsd
 -rw-------. 1root root 1719626月   504:23 web.xml

2.webapps目录说明:这里几个目录对应着主界面的上面的按钮,可以直接在主界面查看帮助文档,及web界面直接管理

代码语言:javascript
复制
 [root@ansible tomcat]# cd webapps/
 [root@ansible webapps]# ll
 总用量 4
 drwxr-x---. 14root root 409611月 1611:09 docs  ##tomcat帮助文档
 drwxr-x---.  6root root   8311月 1611:09 examples  ##web应用实例
 drwxr-x---.  5root root   8711月 1611:09 host-manager  ##主机管理
 drwxr-x---.  5root root  10311月 1611:09 manager  ##管理
 drwxr-x---.  3root root  28311月 1611:09 ROOT  ##默认网站根目录

3.tomcat日志文件

代码语言:javascript
复制
 [root@ansible logs]# ll
 总用量 100
 -rw-r-----. 1root root 4757111月 1611:37 catalina.2019-11-16.log
 -rw-r-----. 1root root 4757111月 1611:37 catalina.out  ##实时日志
 -rw-r-----. 1root root     011月 1611:27 host-manager.2019-11-16.log
 -rw-r-----. 1root root  130911月 1611:29 localhost.2019-11-16.log  ##访问日志
 -rw-r-----. 1root root     011月 1611:27 localhost_access_log.2019-11-16.txt
 -rw-r-----. 1root root     011月 1611:27 manager.2019-11-16.log  ##管理日志

5、Tomcat启动

1默认的启动方式

代码语言:javascript
复制
 [root@ansible logs]# /usr/local/tomcat/bin/startup.sh 
 Using CATALINA_BASE:   /usr/local/tomcat
 Using CATALINA_HOME:   /usr/local/tomcat
 Using CATALINA_TMPDIR: /usr/local/tomcat/temp
 Using JRE_HOME:       /usr/local/java
 Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
 Tomcat started.
 [root@ansible logs]# /usr/local/tomcat/bin/shutdown.sh 
 Using CATALINA_BASE:   /usr/local/tomcat
 Using CATALINA_HOME:   /usr/local/tomcat
 Using CATALINA_TMPDIR: /usr/local/tomcat/temp
 Using JRE_HOME:       /usr/local/java
 Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

2.加入/etc/init.d/service

代码语言:javascript
复制
 [root@ansible logs]# vim /etc/init.d/tomcat
 #!/bin/bash
 # Init file for Tomcat server daemon
 #
 # chkconfig: 2345 96 14
 # description: Tomcat server daemon
 JAVA_OPTS='-Xms64m -Xmx128m'
 JAVA_HOME=/usr/local/jdk1.8.0_91      #指定jdk安装路径
 CATALINA_HOME=/usr/local/tomcat     #指定tomcat安装路径
 exportJAVA_OPTS JAVA_HOME CATALINA_HOME
 exec $CATALINA_HOME/bin/catalina.sh $*
 [root@ansible logs]# chmod +x /etc/init.d/tomcat
 [root@ansible logs]# service tomcat start
 Using CATALINA_BASE:   /usr/local/tomcat
 Using CATALINA_HOME:   /usr/local/tomcat
 Using CATALINA_TMPDIR: /usr/local/tomcat/temp
 Using JRE_HOME:       /usr/local/jdk1.8.0_91
 Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
 Tomcat started.
 [root@ansible logs]# service tomcat stop
 Using CATALINA_BASE:   /usr/local/tomcat
 Using CATALINA_HOME:   /usr/local/tomcat
 Using CATALINA_TMPDIR: /usr/local/tomcat/temp
 Using JRE_HOME:       /usr/local/jdk1.8.0_91
 Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

测试访问tomcat:

6、配置Tomcat管理界面

配置tomcatweb界面管理功能,可以进行配置文件的管理,及部署在tomcat上的应用进行管理,默认情况是处于禁用状态。如果要开启这个功能,需要配置管理用户,即配置tomcat-users.xml文件。并且还需要修改manager项目下的content.xml文件,让其所有地址可访问。

代码语言:javascript
复制
 [root@ansible ~]# vim /usr/local/tomcat/conf/tomcat-users.xml
 44<role rolename="manager-gui"/>
 45<role rolename="admin-gui"/>
 46<user username="tomcat"password="tomcat"roles="manager-gui,admin-gui"/>
 [root@ansible ~]# vim /usr/local/tomcat/webapps/manager/META-INF/context.xml
 20         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1"/>
 改为:
 20         allow="\d+\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1"/>
 [root@ansible ~]# vim /usr/local/tomcat/webapps/host-manager/META-INF/context.xml
 20         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1"/>
 改为:
 20         allow="\d+\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1"/>

7、访问测试

状态页面:

Manager页面:

Host Manager页面:

8、总结

在Tomcat 中 config目录下有一个 web.xml 配置文件,在项目开发中也会出现 web.xml 配置文件,对二者相比较,Tomcat 中 config目录下的 web.xml 作为所有项目通用配置文件,而项目目录下的 web.xml 为局部作用域,只对本项目有效,二者同时出现时。项目下的 web.xml 中的配置优先权更高。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维猫 微信公众号,前往查看

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

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

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