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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容