centos7下安装tomcat7总结

centos7安装tomcat7的步骤如下:

1.下载tomcat7的tar.gz文件,并解压缩到/usr/local目录

 

$>tar -zxvf apache-tomcat-7.0.59.tar.gz  -C  /usr/local
并目录更名为tomcat7

$> mv apache-tomat-7.0.59  tomcat7

2.进入tomcat7的bin目录设置

$> cd  /usr/local/tomcat7/bin

解压commons-daemon-native.tar.gz

$>tar -zxvf commons-daemon-native.tar.gz

进入commons-daemon-native.src目录

$>cd commons-daemon-native.src/unix

进行配置和编译

$>./configure
$>make

make后,会在当前文件夹下生成一个名为 jsvc 的文件,将其复制到$CATALINA_HOME/bin目录

$>cp jsvc ../../

3.添加一个运行tomcat的用户,无登录权限


$>useradd    tomcat -M -d   /   -s  /usr/sbin/nologin

4.回到$CATALINA_HOME/bin目录下

$> cd /usr/local/tomcat7/bin

修改目录下的daemon.sh文件

$>vi daemon.sh
在第一行,#!/bin/sh 之后 添加jsvc调优:

# chkconfig: - 85 15
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_31
export JRE_HOME =/usr/lib/jvm/jdk1.8.0_31/jre
export CATALINA_BASE=/usr/local/tomcat7
export CATALINA_HOME=/usr/local/tomcat7
export CATALINA_PID=$CATALINA_BASE/logs/catalina-daemon.pid
export CATALINA_TMP=$CATALINA_BASE/temp 
export TOMCAT_USER=tomcat
export CATALINA_OPTS="-server -Xss512k -Xms2048M -Xmx2048M -XX:MaxPermSize=256M -XX:PermSize=128M -XX:NewSize=128M -XX:+CMSIncrementalMode 
   -XX:CMSInitiatingOccupancyFraction=80 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:ParallelGCThreads=8 
   -Djavax.servlet.request.encoding=UTF-8 -Djavax.servlet.response.encoding=UTF-8 -Dfile.encoding=UTF-8 
   -Duser.timezone=Asia/Shanghai -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=10086 
   -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.3.5"

参数设置说明:

 

-XX:+CMSIncrementalMode
 该标志将开启CMS收集器的增量模式。增量模式经常暂停CMS过程,以便对应用程序线程作出完全的让步。因此,收集器将花更长的时间完成整个收集周期。因此,只有通过测试后发现正常CMS周期对应用程序线程干扰太大时,才应该使用增量模式。由于现代服务器有足够的处理器来适应并发的垃圾收集,所以这种情况发生得很少。
-XX:CMSInitiatingOccupancyFraction
当堆满之后,并行收集器便开始进行垃圾收集,例如,当没有足够的空间来容纳新分配或提升的对象。对于CMS收集器,长时间等待是不可取的,因为在并发垃圾收集期间应用持续在运行(并且分配对象)。因此,为了在应用程序使用完内存之前完成垃圾收集周期,CMS收集器要比并行收集器更先启动。
因为不同的应用会有不同对象分配模式,JVM会收集实际的对象分配(和释放)的运行时数据,并且分析这些数据,来决定什么时候启动一次CMS垃圾收集周期。为了引导这一过程, JVM会在一开始执行CMS周期前作一些线索查找。该线索由 -XX:CMSInitiatingOccupancyFraction=<value>来设置,该值代表老年代堆空间的使用率。比如,value=75意味着第一次CMS垃圾收集会在老年代被占用75%时被触发。通常CMSInitiatingOccupancyFraction的默认值为68(之前很长时间的经历来决定的)。

-XX:+UseConcMarkSweepGC
该标志首先是激活CMS收集器。默认HotSpot JVM使用的是并行收集器。
-XX:UseParNewGC
当使用CMS收集器时,该标志激活年轻代使用多线程并行执行垃圾回收。这令人很惊讶,我们不能简单在并行收集器中重用-XX:UserParNewGC标志,因为概念上年轻代用的算法是一样的。然而,对于CMS收集器,年轻代GC算法和老年代GC算法是不同的,因此年轻代GC有两种不同的实现,并且是两个不同的标志。
注意最新的JVM版本,当使用-XX:+UseConcMarkSweepGC时,-XX:UseParNewGC会自动开启。因此,如果年轻代的并行GC不想开启,可以通过设置-XX:-UseParNewGC来关掉。
XX:ConcGCThreads

标志-XX:ConcGCThreads=<value>(早期JVM版本也叫-XX:ParallelCMSThreads)定义并发CMS过程运行时的线程数。比如value=4意味着CMS周期的所有阶段都以4个线程来执行。尽管更多的线程会加快并发CMS过程,但其也会带来额外的同步开销。因此,对于特定的应用程序,应该通过测试来判断增加CMS线程数是否真的能够带来性能的提升。
如果还标志未设置,JVM会根据并行收集器中的-XX:ParallelGCThreads参数的值来计算出默认的并行CMS线程数。该公式是ConcGCThreads = (ParallelGCThreads + 3) /4 。因此,对于CMS收集器, -XX:ParallelGCThreads标志不仅影响“stop-the-world”垃圾收集阶段,还影响并发阶段。
总之,有不少方法可以配置CMS收集器的多线程执行。正是由于这个原因,建议第一次运行CMS收集器时使用其默认设置, 然后如果需要调优再进行测试。只有在生产系统中测量(或类生产测试系统)发现应用程序的暂停时间的目标没有达到 , 就可以通过这些标志应该进行GC调优。
-XX:ParallelGCThreads=n
设置并行收集器收集时使用的CPU数。并行收集线程数。

接下来这些参数 是针对于 JMX 远程监控的:
-Dcom.sun.management.jmxremote 启用JMX远程监控
-Dcom.sun.management.jmxremote.port=10086 使用端口10086
-Dcom.sun.management.jmxremote.authenticate=false 远程连接不需要密码认证
-Dcom.sun.management.jmxremote.ssl=false 不使用SSL
-Dcom.sun.management.jmxremote.access.file=$CATALINA_HOME/conf/jmxremote.access 使用指定的JMX帐号授权文件
-Dcom.sun.management.jmxremote.password.file=$CATALINA_HOME/conf/jmxremote.password 使用指定的JMX帐号文件

修改ARG0的值为如下:

ARG0="/usr/local/tomcat7"
设置其中的
TOMCAT_USER=tomcat,JAVA_HOME=/usr/lib/jvm/jdk1.8.0_31
为目录下的.sh文件添加可执行权限

$> chmod +x  *.sh
设置$CATALINE_HOME文件夹及其所有子文件Owner为tomcat

$>chown -R tomcat:tomcat /usr/local/tomcat7

5.创建 $CATALINA_HOME/bin/daemon.sh 的一个链接到 /etc/init.d/ 下,service名为tomcat7

$> ln -s /usr/local/tomcat7/bin/daemon.sh  /etc/init.d/tomcat7
添加chkconfig中


$> chkconfig --add tomcat7
设置自启动的级别

$>chkconfig --level 2345 tomcat7 on 

测试启动

$>service tomcat7 start

6.firewall防火墙设置

新建文件/usr/lib/firewalld/services/tomcat.xml,内容为:

<?xml version="1.0" encoding="utf-8"?>
<service>
        <short>Tomcat</short>
        <description>Apache Tomcat Web Application Container</description>
        <portprotocol="tcp"port="8080"/>
</service>

设置防火墙8080端口开放

firewall-cmd --permanent --add-service=tomcat
firewall-cmd --reload

这里我们验证一下JMX远程监控,推荐使用VisualVM监控;

JDK中还藏着一个宝贝,它的名字叫做VisualVM。VisualVM是Sun的一个OpenJDK项目,其目的在于为Java应用创建一个整套的问题解决工具;

官网主页:
http://visualvm.java.net/






  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值