Tomcat在Linux上的安装与配置

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: Tomcat在Linux上的安装与配置     以下使用的Linux版本为: Redhat Enterprise Linux 7.0 x86_64,Tomcat版本为tomcat-7.0.54.1.下载JDK与Tomcat.

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=JAVAHOME/binexportPATH=PATH:JAVAHOME/binexportCLASSPATH=.:JAVA_HOME/lib/dt.jar:JAVAHOME/lib/tools.jarexportPATH=JAVA_HOME/bin:JREHOME/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,内存检测泄露和增强的安全特性。

如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.cnblogs.com/kenshinobiy/
相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
打赏
0
0
0
0
24
分享
相关文章
框架源码私享笔记(01)Tomcat核心架构功能 | 配置详解
本文首先分享了《活出意义来》一书序言中的感悟,强调成功如同幸福,不是刻意追求就能得到,而是全心投入时的副产品。接着探讨了Tomcat的核心功能与架构解析,包括网络连接器(Connector)和Servlet容器(Container),并介绍了其处理HTTP请求的工作流程。文章还详细解释了Tomcat的server.xml配置文件,涵盖了从顶级容器Server到子组件Connector、Engine、Host、Context等的配置参数及作用,帮助读者理解Tomcat的内部机制和配置方法。
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
56 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
|
21天前
|
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
116 25
|
25天前
|
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
修复/etc/passwd文件是解决Linux登录故障的重要步骤。通过进入单用户模式、挂载文件系统、恢复或手动修复/etc/passwd文件,可以有效解决该问题。保持定期备份系统配置文件是预防此类问题的最佳实践。
51 13
|
24天前
|
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
修复/etc/passwd文件是解决Linux登录故障的重要步骤。通过进入单用户模式、挂载文件系统、恢复或手动修复/etc/passwd文件,可以有效解决该问题。保持定期备份系统配置文件是预防此类问题的最佳实践。
48 5
|
1月前
|
Linux 安装 Qualcomm ® SnapdragonTM Profiler
通过本文的详细介绍,您应该已经成功在 Linux 系统上安装并配置了 Qualcomm® Snapdragon™ Profiler,并能够连接 Android 设备进行性能分析。Snapdragon Profiler 提供了丰富的工具和功能,可以帮助开发者深入了解应用程序的性能瓶颈,从而进行优化。希望本文能对您有所帮助,让您在开发过程中更高效地使用 Snapdragon Profiler 进行性能分析和优化。
80 10
|
1月前
|
Linux安装svn并启动
Linux安装svn并启动
60 10
linux8安装oracle 11g遇到的问题记录
Oracle 11g在Linux 8上安装时会遇到link编译环节的问题。官方建议忽略安装中的链接错误,安装完成后应用DBPSU 11.2.0.4.240716补丁及一次性补丁33991024,再重新编译二进制文件,并配置监听器和数据库。但因11g已退出服务期,这些补丁需付费获取。网上信息显示22年1月的PSU补丁也可解决问题,找到该补丁后按常规方式打补丁即可。如有需求或疑问可咨询我。
103 20
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等