1、Tomcat的3种部署方式
自带web,可以独立部署,自己提供容器,自己提供Web。
使用nginx或Apache进行代理,在一个主机内,静态内容由代理完成,对于动态请求转发至Tomcat。
两层部署,一台主机运行Apache,工作在反向代理模式下(Apache的代理模块有mod_proxy和mod_jk),一台主机运行Tomcat。Apache向后转发时可以根据流量或客户端主机的各种其他标准判断转发至后端的哪个Tomcat主机上进行响应,能监控后端的健康状况,并能通过一个web接口输出管理页面在远程主机上进行禁用或启用Tomcat主机上的功能。
Tomcat本身是使用Java语言进行开发的,因此要想部署Tomcat需要先安装JDK而不是JRE。
JDK和JRE的区别:JRE:Java运行环境。JDK:JavaDevelopment开发环境(JDK相当于JRE的超集,提供开发(编译)和运行环境)
2、JDK的安装
软件的安装通常有三种:rpm包、通用二进制格式(.bin结尾)、源码编译安装。
这里使用通用二进制格式的进行安装,os为RedHat5.8,jdk版本为jdk-6u21-linux-i586-rpm.bin
安装步骤:【
下载后
chmod +x jdk-6u21-linux-i586-rpm.bin
./jdk-6u21-linux-i686-rpm.bin
步骤如下图:
默认安装到/usr/java/下,在此目录下创建了jdk1.6.0_21
jdk1.6.0_21下各目录:
bin:存放二进制程序,java 启动虚拟机,javac完成编译
include:头文件、
lib:库文件
man:帮助文档
为了便捷使用bin目录中的命令
vim /etc/profile.d/java.sh在此文件中添加内容
export JAVA_HOME=/usr/java/jdk1.6.0_21
export PATH=$PATH:$JAVA_HOME/bin
保存退出后读一下此文件 . /etc/profile.d/java.sh
可以使用语句java -version 查看版本信息来测试JDK是否配置好
】
java配置启动虚拟机时所支持的参数方法【
-XX:+<option>:开启此参数指定的功能
-XX:-<option>:关闭功能
-XX:<option>=<value>:给option指定的选项赋值
如java -XX:+PrintFlagsFinal 显示Java支持的所有参数及其默认值
-D<name>=<value> 设置系统属性值
】
3、tomcat的安装
这里使用apache-tomcat-7.0.23.tar.gz 进行安装
下载后解压
tar xf apache-tomcat-7.0.23.tar.gz -C /usr/local
cd /usr/local/
ln -sv apache-tomcat-7.0.23 tomcat
安装步骤如下图:
如何启动Tomcat?【
tomcat的代码名称叫做catalina
1、先输出环境变量说明catalina在什么地方。
vim /etc/profile.d/tomcat.sh添加内容
export CATALINA_HOME=/usr/local/tomcat
export PATH=$PATH:$CATALINA_HOME/bin
添加完成后执行命令 . /etc/profile.d/tomcat.sh
catalina.sh version 其中version是Tomcat目录下bin目录中的程序,可以作为参数传递给catalina.sh 进行执行
启动Tomcat执行命令 catalina.sh start
使用jps命令查看是否启动,使用netstat命令查看8080端口和8009端口是否启用
】
tomcat的目录结构:cd /usr/local/tomcat进入tomcat目录
bin目录下是一堆Java的归档压缩包、window批处理脚本、shell脚本。目录下核心脚本为catalina.sh。
conf目录下的核心配置文件是server.xml,Tomcat启动后会将tomcat-users.xml读进内存,以完成用户账号认证,因此此文件的安全性非常重要。 默认的应用程序部署描述符web.xml。 默认为上下文提供的配置文件context.xml。 定义Tomcat的安全策略如哪些资源能够被访问以及不能被访问、哪些能被装载哪些不能被装载的配置文件是catalina.policy。 catalina.properties定义应用程序自身属性(所使用的内存大小、缓存池等)。logging.properties定义日志文件属性(日志级别、日志文件路径等)。
对我们而言,我们通常需要修改的配置文件只有.xml文件,其他的除了定义应用程序自身的属性,否则不用更改。
部署一个应用程序就是将其放入某一个Tomcat的某一个host的某一个context能够访问的路径下,并且能够将其所依赖的公共类和私有类装载完成的过程就叫部署。简单来说就是将一个web应用程序所依赖到的类装载进JVM。
如何部署,部署时应该到哪个地方找哪些文件等都是由部署描述符web.xml指挥完成的。
lib目录: 库
logs目录: 日志
temp目录: 临时文件目录
webapps目录: 部署的应用程序目录,在此目录下各个应用程序目录下以 -INF 结尾的目录都不允许通过web服务访问,是应用程序私有文件、私有信息。
work目录: 工作目录,在此目录下每一个引擎都有自己独立的目录,在这个引擎目录下每个主机也有独立的目录,在这个主机目录下每个应用程序也都有自己的独立目录(应用程序可以通过logs目录中的catalina.out查看Deploye的应用程序)。work目录结构以及通过catalina.out查看的应用程序如下图:
tomcat的访问:
tomcat启动后可通过http://IP:8080 进行访问。这个8080端口是在conf目录下的server.xml文件中定义http连接器时定义的,使用命令 :vim /usr/local/tomcat/conf/server.xml可进行查看,如下图:
可以根据自己的需要进行更改此端口。更改后使用命令:
catalina.sh stop && catalina.sh start进行重启,catalina.sh不支持restart。
如果想重新设置访问路径,可以在server.xml文件中添加一个Host。
然后在将defaultHost更改为这个Host的名称
将server.xml修改完成后保存退出,根据上面新添加的Host中的appBase="/web"和docBase="webapps"使用命令:
mkdir /web/webapps -pv创建目录,并在/web/webapps目录下创建index.jsp后。再使用命令catalina.sh stop和catalina.sh start停止并启动tomcat后,就可以使用浏览器输入http://IP:8080进行访问了,访问的内容便是index.jsp文件中的内容。