Tomcat

Tomcat简介

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目:tomcat.apache.org,它的项目名称为catalina,后来由Apache、Sun 和其他一些公司及个人共同开发而成,因为在O’Reilly家出的书的封面是一只汤姆猫,所以软件更名为Tomcat。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选,因为Tomcat 技术先进、性能稳定,成为目前比较流行的Web 应用服务器。Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展,但它是独立运行的

  • JDK(Java Development Kits):Java 开发套件,一共分为两种:
    • OpenJDK
    • Oracle JDK
      注:建议使用OPENJDK,可以不用配置变量信息,也免除被Oracle敲诈的可能

安装OPENJDK

#yum -y install java-1.7.0-openjdk.x86_64

安装tomcat

解压安装包文件
# tar xf apache-tomcat-VERSION.tar.gz -C /usr/local/
切入到文件夹下
# cd /usr/local
创建软连接
# ln -sv apache-tomcat-VERSION tomcat

  • 由于我们是下载的解压后直接使用的版本,所以需要设置变量

切入到文件夹下
cd /etc/profile.d/
新建文件
vim tomcat.sh
添加下面两条记录即可
export CATALINA_HOME=/usr/local/tomcat
export PATH=$CATALINA_HOME/bin:$PATH

  • 启动服务

# catalina.sh start
查看端口是否打开,tomcat有三个端口,分别是8080、8005和8009
[root@7 bin]# ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:111 *:*
LISTEN 0 5 192.168.122.1:53 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 128 127.0.0.1:631 *:*
LISTEN 0 128 :::111 :::*
LISTEN 0 100 :::8080 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 128 ::1:631 :::*
LISTEN 0 1 ::ffff:127.0.0.1:8005 :::*
LISTEN 0 100 :::8009 :::*

  • 在浏览器测试


    image

第二种安装方法

  • 因为tomcat已经被收入base源,所以我们可以直接yum安装

# yum -y install tomcat-lib tomcat tomcat-admin-webapps tomcat-webapps tomcat-docs-webapp tomcat-webapps
查看安装的一些配置文件路径,这两种配置文件是我们最常用到进行修改的配置文件
[root@node2 bbs]# rpm -ql tomcat
/etc/tomcat/server.xml 注:主配置文件
/etc/tomcat/tomcat-users.xml 注:用户认证的账号和密码文件;角色(role),用户(User);此文件在tomcat启动时被装入内存;

  • 我们这里手工提供一个测试类应用,并冷部署:
    切入提供WEB服务的文件夹,创建一个子文件夹,并创建相应的文件

首先把tomcat服务停止运行
# catalina.sh stop
# cd /usr/local/tomcat/webapps/
# mkdir -p test/{ classes,lib,WEB-INF,index.jsp}
# vim index.jsp
添加如下代码:
<%@ page language="java" %>
<%@ page import="java.util.*" %>
----<html>
------ <head>
---------- <title>Test Page</title>
------ </head>
------ <body>
-----------<% out.println("hello world");
-----------%>
------ </body>
----</html> 注:此处‘-’只是为了缩进想表达效果而已,大家不用照抄
启动服务
#catalina.sh start

  • 测试页面


    image

TOMCAT的常用组建

  • Server:代表tomcat instance,即表现出的一个java进程;监听在8005端口,只接收“SHUTDOWN”。各server监听的端口不能相同,因此,在同一物理主机启动多个实例时,需要修改其监听端口为不同的端口

    使用telnet 127.0.0.1 8005 连接,只要输入SHUTDOWN指令,即关闭tomcat服务,建议关闭此项功能
    [root@node2 tomcat]# telnet 127.0.0.1 8005
    Trying 127.0.0.1...
    Connected to 127.0.0.1.
    Escape character is '^]'.
    SHUTDOWN---->指令
    Connection closed by foreign host.
    修改方法:编辑tomcat的server.xml配置文件,把8005端口改成-1即可,或者把SHUTDOWN的值改成随机数
    # vim /etc/tomcat/server.xml
    <Server port="-1" shutdown="SHUTDOWN">

  • Host组件:位于engine内部用于接收请求并进行相应处理的主机或虚拟主机

# vim /etc/tomcat/server.xml


测试:
image

  • Context组件:

vim /etc/tomcat/server.xml

image

测试:
image

Valve组件:

  • Valve存在多种类型:

定义访问日志:org.apache.catalina.valves.AccessLogValve
定义日志格式名称


image

定义访问控制:org.apache.catalina.valves.RemoteAddrValve

只允许172.18.10.1主机访问连接
image

使用NGINX进行反向代理

安装nginx(注:这里便于测试把nginx装在tomcat同一台主机)
# yum -y install nginx
编辑nginx的配置文件
# vim /etc/nginx/nginx.conf

image

测试:可以看出不加端口号也可以访问tomcat
image

使用httpd进行反向代理

安装httpd服务(proxy_http_module)
# yum -y install httpd
编辑配置文件(proxy_http_module代理配置示例:)
# vim /etc/httpd/conf.d/http-tomcat.conf

image

测试:
image

编辑配置文件:(proxy_ajp_module代理配置示例:)
# vim /etc/httpd/conf.d/ajp-tomcat.conf
image

测试:
image

点击上图中的Server Status会弹出验证窗口
在配置文件中设置用户密码即可
# vim /etc/tomcat/tomcat-users.xml
image

验证密码
image

image
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容