天天看点

Tomcat在Linux上的安装

1、下载JDK和Tomcat

jdk下载地址:

   http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

tomcat下载地址:

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 name="mail.163.com" appBase="/mailapps">

   须设置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/>

                    ...

                    <Engine>

                        <Host>

                            <Context/>

                            ...

                        </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主要用于控制逻辑。

本文转自 优果馥思 51CTO博客,原文链接:http://blog.51cto.com/youguofusi/2053806