Tomcat在Linux上的安装
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat在Linux上的安装相关的知识,希望对你有一定的参考价值。
1、下载JDK和Tomcat
jdk下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
tomcat下载地址:
http://tomcat.apache.org/
2、jdk安装和配置
(1)jdk安装
yum localinstall jdk-8u151-linux-x64.rpm
(2)配置环境变量
vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/jdk1.8.0_151 定义路径
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
. /etc/profile.d/java.sh
测试jdk:
#java -version 显示java程序的版本信息
openjdk version "1.8.0_102"
OpenJDK Runtime Environment (build 1.8.0_102-b14)
OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)
3、安装Tomcat
(1)、下载:apache-tomcat-7.0.78.tar.gz
#tar xvf apache-tomcat-7.0.78.tar.gz -C /usr/local/ 解压;
#ll /usr/local/ | grep tomcat 查看解压后的目录;
(2)、为方便管理,创建软链接;
ln -s /usr/local/apache-tomcat-8.5.11/ /usr/local/tomcat
(3)、创建环境配置脚本;
#vim /etc/profile.d/tomcat.sh
export PATH=$CATALINA_BASE/bin:$PATH
export CATALINA_BASE=/usr/local/tomcat
赋予执行权限;
#chmod +x /etc/profile.d/tomcat.sh
加载环境配置;
#source /etc/profile.d/tomcat.sh
(4)、启动tomcat
#/usr/local/tomcat/bin/catalina.sh start 或 #catalina.sh start
查看tomcat是否正常启动
(5)、测试本地8080端口是否正常监听
#curl -I 127.0.0.1:8080
(6)、通过浏览器访问测试(需指定8080端口),注意selinux与iptables策略;
4.配置web管理帐号
修改文件conf/tomcat-users.xml,在<tomcat-users>元素中添加帐号密码,需要指定角色.
# vim /usr/local/tomcat/conf/tomcat-users.xml
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user name="admin" password="admin" roles="manager-gui,admin-gui" />
</tomcat-users>
重启服务:/usr/local/tomcat/bin/catalina.sh stop-->/usr/local/tomcat/bin/catalina.sh start
5.配置web访问端口
可以修改conf目录下的文件server.xml,修改Connector元素(Tomcat的默认端口是8080),需要重新启动Tomcat服务生效.
# vim /usr/local/tomcat/conf/server.xml
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
6.Tomcat的目录结构
·bin //存放Tomcat的命令脚本文件
·conf //存放Tomcat服务器的各种配置文件,最主要是server.xml
·lib //存放Tomcat服务器支撑jar包
·logs //存放日志文件
·temp //存放临时文件
·webapps //web应用所在目录,外界访问web资源的存放目录
·work //Tomcat的工作目录
7.web应用的目录结构
webapp -- web应用所在目录
|--- html, jsp, css, js文件等 -- 这些文件一般在web应用根目录下,根目录下的文件外界可以直接访问.
|--- WEB-INF 目录 -- java类、jar包、web配置文件存在这个目录下,外界无法直接访问,由web服务器负责调用.
|--- classes 目录 -- 类文件,当前webapp所提供的类
|--- lib 目录 -- 类文件,当前webapp所提供的类,被打包为jar格式
|--- web.xml 文件 -- web应用的配置文件
部署(deploy)webapp的相关操作:
deploy:将webapp的源文件放置于目标目录(网页程序文件存放目录),配置tomcat服务器能够基于web.xml和context.xml文件中定义的路径来访问此webapp;将其特有的类和依赖的类通过class loader装载至JVM;
部署有两种方式:
自动部署:auto deploy;
手动部署:
冷部署:把webapp复制到指定的位置,而后才启动tomcat;
热部署:在不停止tomcat的前提下进行部署;
部署工具:manager、ant脚本、tcd(tomcat client deployer)等;
undeploy:拆除(反部署),停止webapp,并从tomcat实例上卸载webapp;
start:启动处于停止状态的webapp;
stop:停止webapp,不再向用户提供服务;其类依然在jvm上;
redeploy:重新部署;
8.虚拟主机的配置
指定虚拟主机名,修改conf/server.xml,添加<host>元素.
<host name="hostname.domainname" appBase="/webapps">
<Context path="/webapp" docBase="/webapps/webapp"/>
</host>
例:
<host name="www.163.com" appBase="/webapps">
</host>
<host name="mail.163.com" appBase="/mailapps">
</host>
须设置DNS解析(hosts文件或DNS系统).
9.web应用和虚拟目录的映射
可以修改xml配置文件的<Context>元素来设置web应用和虚拟目录的映射.
·conf/server.xml //在<host>元素下添加<Context path="/webdir" docBase="/webappdir"/>,需要重新启动Tomcat服务生效,不建议使用.
·conf/context.xml //添加<Context>元素所有web应用有效,其存放位置为WEB-INF/目录中;此文件为所有的webapps提供默认配置.
·conf/[enginename]/[hostname]/context.xml.default //[enginename]一般是Catalina,主机[hostname]的所有web应用有效.
·conf/[enginename]/[hostname]/ //在目录下任意建一个文件(扩展名xml),文件名即为虚拟目录名.多级目录使用#分割.
<Context docBase="/webappdir"/> //缺省值web应用目录可以定义为ROOT.xml,添加<Context docBase="/webappdir"/>,需重新启动Tomcat服务器.
·META-INF/context.xml //可以将web应用放在webapps目录下让Tomcat服务器自动映射,适用开发环境,实际运用环境中不用自动映射。如没有修改配置文件,web应用目录为ROOT时则为默认web应用。
10.web应用首页(welcome file)的配置
修改web应用的配置文件: [webapp]/WEB-INF/web.xml
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
Tomcat的核心组件:server.xml
<Server>
<Service>
<connector/>
<connector/>
...
<Engine>
<Host>
<Context/>
<Context/>
...
</Host>
<Host>
...
</Host>
...
</Engine>
</Service>
</Server>
补充知识:
java中servlet和jsp区别:
①、JSP在本质上就是SERVLET,但是两者的创建方式不一样.
②、Servlet完全是JAVA程序代码构成,擅长于流程控制和事务处理,通过Servlet来生成动态网页很不直观.
J3、SP由HTML代码和JSP标签构成,可以方便地编写动态网页.
因此在实际应用中采用Servlet来控制业务流程,而采用JSP来生成动态网页.在struts框架中,JSP位于MVC设计模式的视图层,而Servlet位于控制层.
①、JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。
②、JSP编译后是“类servlet”。
③、Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开
来。而JSP是Java和HTML组合成一个扩展名为.jsp的文件。
④、JSP侧重于视图,Servlet主要用于控制逻辑。
以上是关于Tomcat在Linux上的安装的主要内容,如果未能解决你的问题,请参考以下文章