• Tomcat在Linux上的安装与配置


    Tomcat在Linux上的安装与配置



        以下使用的Linux版本为: Redhat Enterprise Linux 7.0 x86_64,Tomcat版本为tomcat-7.0.54.


    1.下载JDK与Tomcat.
        jdk下载地址:
        http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
        tomcat下载地址:
        http://tomcat.apache.org/download-70.cgi


    2.jdk安装与配置.
        (1)jdk安装
        rpm包:
        # rpm -ivh jdk-7u55-linux-x64.rpm


        tar.gz包:解压缩
        # mkdir /usr/java
        # cd /usr/java
        # tar -zxvf /software/jdk-7u55-linux-x64.tar.gz
        生成链接以便版本升级
        # ln -s jdk1.7.0_55 latest
        # ln -s latest default


        (2)配置环境变量
        # vi /etc/profile
        export JAVA_HOME=/usr/java/default
        export JAVA_BIN=$JAVA_HOME/bin
        export PATH=$PATH:$JAVA_HOME/bin
        export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
        export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH


        使配置生效
        # source /etc/profile


        测试jdk.
        # java -version
        java version "1.7.0_55"
        Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
        Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)


    3.Tomcat的安装
        解压缩
        # mkdir /usr/local/tomcat
        # cd /usr/local/tomcat
        # tar -zxvf /software/apache-tomcat-7.0.54.tar.gz
        生成链接以便版本升级
        # ln -s apache-tomcat-7.0.54 server


        启动Tomcat
        # cd /usr/local/tomcat/server/bin
        # ./startup.sh
        Using CATALINA_BASE: /usr/local/tomcat/server
        Using CATALINA_HOME: /usr/local/tomcat/server
        Using CATALINA_TEMDIR: /usr/local/tomcat/server/temp
        Using JRE_HOME: /usr/java/default
        Using CLASS_PATH: /usr/local/tomcat/server/bin/bootstrap.jar:/usr/local/tomcat/server/bin/tomcat-juli.jar
        Tomcat started.


        测试Tomcat:
        打开防火墙,使外部能访问
        # /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
        # service iptables save
        # service iptables restart
        或直接修改文件/etc/sysconfig/iptables.
        # vi /etc/sysconfig/iptables
        -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
        # service iptables restart
        在浏览器输入: http://192.168.16.133:8080
        如在本机可以输入: http://localhost:8080
        出现tomcat的页面表示安装成功.


        停止Tomcat
        # ./shutdown.sh


    4.配置web管理帐号
       修改文件conf/tomcat-users.xml,在<tomcat-users>元素中添加帐号密码,需要指定角色.
       # vi /usr/local/tomcat/server/conf/tomcat-users.xml
         <tomcat-users>
           <user name="admin" password="admin" roles="admin-gui,manager-gui" />
         </tomcat-users>


    5.配置web访问端口和设置UTF-8
       可以修改conf目录下的文件server.xml,修改Connector元素(Tomcat的默认端口是8080),需要重新启动Tomcat服务生效.
       # vi /usr/local/tomcat/server/conf/server.xml
       <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"  URIEncoding="UTF-8" /> 

       <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" />


    6.配置https安全连接(ssl加密连接)
       https连接需要用到数字证书与数字签名(MD5算法)
       网站https连接首先需要申请数字证书,配置加密连接器,浏览器安装证书.
       ·使用java的工具keytool产生数字证书
         # keytool -genkey -alias tomcat -keyalg RSA
         生成文件.keystore
         注意:CN为主机名称,本机可用localhost
       ·将文件.keystore放到Tomcat服务器的conf目录下
         # cp .keystore /usr/local/tomcat/server/conf/
       ·修改conf/server.xml文件,修改加密连接器,添加keystoreFile与keystorePass
        <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
                   maxThreads="150" scheme="https" secure="true"
                   clientAuth="false" sslProtocol="TLS" 
                   keystoreFile="conf/.keystore" keystorePass="123456"/>    
       ·重新启动tomcat.浏览器输入https://localhost:8443访问,并安装证书.


    7.Tomcat的目录结构
       ·bin     //存放Tomcat的命令脚本文件
       ·conf    //存放Tomcat服务器的各种配置文件,最主要是server.xml
       ·lib     //存放Tomcat服务器支撑jar包
       ·logs    //存放日志文件
       ·temp    //存放临时文件
       ·webapps //web应用所在目录,外界访问web资源的存放目录
       ·work    //Tomcat的工作目录


    8.web应用的目录结构
       webapp                           -- web应用所在目录
         |--- html, jsp, css, js文件等  -- 这些文件一般在web应用根目录下,根目录下的文件外界可以直接访问.
         |--- WEB-INF 目录              -- java类、jar包、web配置文件存在这个目录下,外界无法直接访问,由web服务器负责调用.
               |--- classes 目录        -- java类
               |--- lib 目录            -- java类运行所需要的jar包
               |--- web.xml 文件        -- web应用的配置文件


    9.虚拟主机的配置
       指定虚拟主机名,修改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解析(host文件或DNS系统).




    10.web应用和虚拟目录的映射.
       可以修改xml配置文件的<Context>元素来设置web应用和虚拟目录的映射.
       ·conf/server.xml         //在<host>元素下添加<Context path="/webdir" docBase="/webappdir"/>,需要重新启动Tomcat服务生效,不建议使用.
       ·conf/context.xml        //添加<Context>元素所有web应用有效.
       ·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应用。


    11.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>


    Tomcat6 Tomcat7对比测试

    0摘要

    本文首先简述了Tomcat7的新特性和增强功能。然后对比tomcat6做了性能测试,测试结果表明,tomcat7的在性能上没有明显的提升,而主要贡献在于Servlet 3.0,内存检测泄露和增强的安全特性。

    1 Tomcat7的特性

    目前tomcat7已经发布到第34个版本(tomcat7.0.34),而tomcat6现在的版本是6.0.36,所以就bug修改来说,应该算是比较稳定了。

    Tomcat7新特性:

    1. 使用随机数去防止跨站脚本攻击;

    2. 改变了安全认证中的jessionid的机制,防止session攻击;

    3. 内存泄露的侦测和防止;

    4. 在war文件外使用别名去存储静态内容;

    Tomcat7的增强功能:

    5 对Servlet 3.0,JSP 2.2和JSP-EL 2.2的支持;

    6 更容易将Tomcat内嵌到应用去中去,比如JBoss;

    7 异步日志记;

    根据Mark Thomas,Tomcat 7委员会的经理的说法,Tomcat 7最显著的三个特征是Servlet 3.0,内存检测泄露和增强的安全特性。不过从变更中没有看到Tomcat7在性能方面的提升,下面测试一下性能。

    2 性能测试

    2.1 处理静态请求

    2.1.1Tomcat6处理静态请求

    命令:ab -n 40000 -c 2000 http://172.7.9.201:8080/about.html

    Timeper request: 118.038 [ms] (mean)

    Timeper request: 115.213 [ms] (mean)

    Timeper request: 118.873 [ms] (mean)

    Timeper request: 125.233 [ms] (mean)

    Timeper request: 118.147 [ms] (mean)

    平均 119.101 [ms] (mean)

    2.1.2Tomcat7处理静态请求

    命令:ab -n 40000 -c 2000 http://172.7.9.201:8080/about.html

    Timeper request: 116.968 [ms] (mean)

    Timeper request: 119.298 [ms] (mean)

    Timeper request: 120.927 [ms] (mean)

    Timeper request: 119.914 [ms] (mean)

    Timeper request: 123.141 [ms] (mean)

    平均 120.050 [ms] (mean)

    2.2 请求动态请求

    由于ApacheBench或者Webbench都不支持URL中存在类似loginAction!login.action字符串,而在视频去中action都是类似拼接的,这里只能用jmeter测试向Tomcat6/7发送验证登陆信息请求,故结果数据只做本节内对比,不与上节对比。

    2.2.1Tomca6处理动态信息

    700并发 循环发送5次

    http://172.7.9.201:8080/loginAction!login.action?indexcode=abc&password=e10adc3949ba59abbe56e057f20f883e

    平均3218.000 [ms] (mean)

    2.2.2Tomcat7处理动态信息

    700并发 循环发送5次

    http://172.7.9.201:8080/loginAction!login.action?indexcode=abc&password=e10adc3949ba59abbe56e057f20f883e

    平均3371.333 [ms] (mean)

    2.3 性能测试小结

    从处理静态请求看,tomcat6平均119.101 [ms],tomcat7平均120.050 [ms],Tomcat7响应性能没有提升。

    从处理动态请求看,tomcat6平均3218.000 [ms],tomcat7平均3371.333 [ms]也没有提升。

    3 总结

    本文首先简述了Tomcat7的新特性和增强功能。然后对比tomcat6做了性能测试,测试结果表明,tomcat7的在性能上没有明显的提升,而主要贡献在于Servlet 3.0,内存检测泄露和增强的安全特性。

  • 相关阅读:
    jwt原理
    图书管理系统后端
    图书管理系统前端
    图书管理前端页面
    Linux多任务: exec 和fork()的联用
    CPU 字长与存储器位宽不一致处理
    关键字volatule
    linux C 中断程序:利用队列保存中断类型
    Linux下的Make与Makefile
    C :assert() 的用法
  • 原文地址:https://www.cnblogs.com/kenshinobiy/p/4748317.html
Copyright © 2020-2023  润新知