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
- 下载安装包
https://tomcat.apache.org/download-70.cgi
上传至安装主机并解压到指定目录
解压安装包文件
# 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 :::*
-
在浏览器测试
第二种安装方法
- 因为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
-
测试页面
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
测试:
- Context组件:
vim /etc/tomcat/server.xml
测试:
Valve组件:
- Valve存在多种类型:
定义访问日志:org.apache.catalina.valves.AccessLogValve
定义日志格式名称
定义访问控制:org.apache.catalina.valves.RemoteAddrValve
使用NGINX进行反向代理
安装nginx(注:这里便于测试把nginx装在tomcat同一台主机)
# yum -y install nginx
编辑nginx的配置文件
# vim /etc/nginx/nginx.conf
测试:可以看出不加端口号也可以访问tomcat
使用httpd进行反向代理
安装httpd服务(proxy_http_module)
# yum -y install httpd
编辑配置文件(proxy_http_module代理配置示例:)
# vim /etc/httpd/conf.d/http-tomcat.conf
测试:
编辑配置文件:(proxy_ajp_module代理配置示例:)
# vim /etc/httpd/conf.d/ajp-tomcat.conf
测试:
点击上图中的Server Status
会弹出验证窗口
在配置文件中设置用户密码即可
# vim /etc/tomcat/tomcat-users.xml
验证密码