Tomat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器。由于Tomcat本身也包含了一个HTTP服务器,它可以被视作一个单独的WEB服务器。不过HTTP服务器是C语言实现的Web服务器,而Tomcat则是由Java编写。
什么是Servlet
呢? Servlet
,全称 Java Servlet,是用Java编写的服务器端程序,主要功能在于交互式的浏览和修改数据,生成动态Web内容。
JSP代码运行过程
index.jsp –> 由jasper转换 –> index_jsp.java –> 通过javac编译器 –> 生成类文件 index_jsp.class –> 在(engine上)jvm虚拟机上运行
基于jsp将静态输出的数据转为java代码进行输出,结果为Servlet规范的代码
Java代码运行过程
.java –> javac –> .class(bytecode字节码)
JVM运行时区域
|
|
在Linux下想要运行tomcat
,就必须依赖JDK
环境了,这里我们使用的JDK版本是 java-1.8.0-openjdk
。openjdk是jdk的一个分支,也是其开源的项目。
安装JDK
由于使用的是Centos 7
,所以在base仓库就已经提供了3种openjdk版本:
|
|
这里我们使用java-1.8.0-openjdk
版本
|
|
为了防止其他程序要使用java
时找不到JAVA_HOME
,我们这里手动配置JAVA_HOME
|
|
如果是使用Oracle
版本的JDK,其默认安装在/usr/java/jdk_VERSION
路径下
|
|
安装完jdk
之后,我们就可以开始安装和配置Tomcat了!
安装Tomcat
- 使用base仓库安装
|
|
- 使用官方二进制版本安装
|
|
注意这里使用软连接的方式,是为了生产环境中,如果需要版本升级时,可以很好的进行替换操作,只需将连接修改至新版本即可。
如果使用了二进制版本安装,我们就需要手动添加环境变量了:
|
|
Tomcat程序环境
tomcat的目录结构
|
|
rpm包安装的程序环境
|
|
运行Tomcat进程的用户
|
|
使用authbind程序使tomcat用户可以监听80端口
|
|
tomcat的配置文件
|
|
二进制安装中 catalina.sh脚本使用方法
|
|
JSP WebAPP的组织结构
|
|
部署deploy webapp的相关操作
|
|
部署有两种方式
|
|
tomcat的两个管理应用
manager
|
|
host-manager
|
|
Tomcat的常用组件配置
|
|
综合示例:
|
|
简单测试页 配置
- 安装Tomcat
|
|
- 配置Tomcat测试页
|
|
- 使用nginx作为反向代理tomcat
|
|
- 修改客户端HOSTS文件
|
|
- 打开网页进行测试
使用反向代理Tomcat
- 使用httpd作为反代服务器(需要将之前nginx服务关闭,防止端口冲突)
|
|
- 使用
ajp
协议进行通信(确保 proxy_ajp_module装载)
|
|
使用nginx/httpd负载均衡Tomcat
这时需要两台Tomcat机器,两台配置一样。只需复制之前做的一台上的配置文件以及/test测试jsp文件
使用nginx反向代理调度器对tomcat实现负载均衡
- 停止httpd服务
|
|
- 配置nginx
|
|
- 打开网页进行测试
如需设置会话保持功能:
|
|
使用httpd作为反向代理时,对后端2台tomcat实现负载均衡
- 停止nginx服务
|
|
- 配置httpd
|
|
- 打开网页测试即可,效果如nginx代理一样
- httpd负载均衡实现会话粘性并开启httpd內建的负载均衡状态页
|
|
- 打开网页测试
本文出自Maxie’s Notes博客,转载请务必保留此出处。