Tomcat安装部署

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环境

 ## 解压软件包
 [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

 ## 解压软件包
 [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目录结构

 [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

 [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界面直接管理

 [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日志文件

 [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默认的启动方式

 [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

 [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文件,让其所有地址可访问。

 [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 中的配置优先权更高。

关于运维学习、分享、交流,笔者开通了微信公众号【运维猫】,感兴趣的朋友可以关注下,欢迎加入,建立属于我们自己的小圈子,一起学运维知识。

扫描二维码

获取更多精彩

运维猫公众号

有需要技术交流的小伙伴可以加我微信,期待与大家共同成长,本人微信:

扫描二维码

添加私人微信

运维猫博主

扫码加微信

最近有一些星友咨询我知识星球的事,我也想继续在星球上发布更优质的内容供大家学习和探讨。运维猫公众号平台致力于为大家提供免费的学习资源,知识星球主要致力于即将入坑或者已经入坑的运维行业的小伙伴。

点击阅读原文  查看更多精彩内容!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值