Linux CentOS7安装多个Tomcat并设置 开机启动


Linux CentOS7安装多个Tomcat并设置 开机启动

原创  2017年11月29日 15:47:37
  • 964

安装第一个Tomcat

把apache-tomcat-8.5.20.tar.gz传到/usr/local目录下

执行如下命令进行解压

tar -xvf apache-tomcat-8.5.20.tar.gz

把Centos7自带的防火墙firewalld关闭,然后开启之前的版本iptables。

systemctl stop firewalld //关闭firewalld服务
systemctl disable firewalld //禁止firewalld服务开机启动
yum install -y iptables-services //安装iptables-services
systemctl enable iptables //让它开机启动
systemctl start iptables //启动iptables

现在就可以 使用之前版本的iptables了。CentOS上默认有iptables规则,这个规则虽然很安全,但对于我们来说没有用,反而会造成某些影响,所以建议先清除规则,然后把清除的规则保存一下。

iptables -nvL
iptables -F;service iptables save

-nvL选项表示查看规则,-F选项表示清除当前规则,但清除只是临时的,启动系统或者重启iptables服务后还会加载已经保存的规则,所以需要使用service iptables save保存一下规则。通过上面的命令输出,可以看到,防火墙的规则保存在/etc/sysconfig/iptables中。

开放Linux的对外访问的端口8080

iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
service iptables save

进入tomcat的bin下启动:./startup.sh

之后在windows系统中的浏览器中输入http://192.168.183.129:8080/

就可以看到界面了

关闭Tomcat,进入tomcat的bin下关闭:./shutdown.sh

安装第二个Tomcat

我先把之前解压的Tomcat文件apache-tomcat-8.5.20改个名

mv apache-tomcat-8.5.20 tomcat1-8080

然后再解压出一份来

tar -xvf apache-tomcat-8.5.20.tar.gz

重新起个名

mv apache-tomcat-8.5.20 tomcat2-8081

对外开放8081端口

iptables -I INPUT -p tcp --dport 8081 -j ACCEPT
service iptables save

需要修改三个端口号,启动第一个tomcat中的/conf/server.xml中的内容为

//8005远程停服务端口
<Server port="8005" shutdown="SHUTDOWN">
//8080为http端口
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
//8009为AJP端口,Apache能通过AJP协议访问Tomcat的8009端口             
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />               

现在我把第二个Tomcat的端口改为

<Server port="7081" shutdown="SHUTDOWN">
<Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />         
<Connector port="9081" protocol="AJP/1.3" redirectPort="8443" />    

然后分别启动两个Tomcat

然后访问http://192.168.183.129:8080/http://192.168.183.129:8081/。会发现都可以访问到了。

设置tomcat开机自启

现在我把两个Tomcat都关了。

找到/etc/rc.d/文件下的rc.local,添加如下内容

export JAVA_HOME=/usr/local/jdk1.8.0_144
export JRE_HOME=$JAVA_HOME/jre

sh /usr/local/tomcat1-8080/bin/startup.sh
sh /usr/local/tomcat2-8081/bin/startup.sh

sh /usr/tomcat/apache-tomcat-9.0.0.M1-80/bin/startup.sh这条命令是启动命令,可以配置多条。 
给rc.local文件添加执行权限

chmod +x rc.local

重启服务器

reboot

然后在浏览器访问

http://192.168.183.129:8080/http://192.168.183.129:8081/

运行.sh文件的方法

linux下运行.sh文件的方法,有两种:

  • 直接./加上文件名.sh,如运行hello.sh为./hello.sh(hello.sh必须有x权限)
  • 直接sh加上文件名.sh,如运行hello.sh为sh hello.sh(hello.sh可以没有x权限)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zsx157326/article/details/78666203



[经验分享] CentOS6.X 安装多实例的Tomcat 

[复制链接]

这是我们公司在生产环境中的一些安装和配置,供大家一起参考讨论。
=================================================== 

1、卸载掉自带的OpenJDK(可以卸载,也可以不卸载,个人建议最好卸载)
    查看目前系统的jdk:
  # rpm -qa | grep jdk
  java-1.6.0-openjdk-devel-1.6.0.35-1.13.7.1.el6_6.x86_64
  java-1.6.0-openjdk-javadoc-1.6.0.35-1.13.7.1.el6_6.x86_64
  java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el6_6.x86_64
  java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.x86_64
  java-1.7.0-openjdk-devel-1.7.0.79-2.5.5.4.el6.x86_64
  

  卸载:(上面不需要的都可以卸载)
          # yum -y removejava-1.7.0-openjdk-1.7.0.75-2.5.4.0.el6_6.x86_64



2、安装 JDK1.7
    下载Sun的JDK。我下载的是 jdk-7u75-linux-x64.gz,将下载的文件解压到/usr/local目录下 
     
    # tar zxvf  jdk-7u75-linux-x64.gz  –C /usr/local
     
     
    接下来配置JDK:
     vi /etc/profile打开profile文件,在profile文件的末尾加上:
     
    JAVA_HOME=/usr/local/jdk1.7.0_75
    PATH=$JAVA_HOME/bin:$PATH
    CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export JAVA_HOME
    export PATH
    export CLASSPATH 
  
    保存并关闭profile文件,执行source/etc/profile命令让修改生效。
    运行下java -version 看一下java版本 :
    # java -version
    java version "jdk1.7.0_75"
    Java(TM) SE RuntimeEnvironment (build 1.7.0_75-b06)
    Java HotSpot(TM) ClientVM (build 20.12-b01, mixed mode, sharing)


      至此,整个JDK安装过程完毕。
  

3、安装Tomcat
     下载apache-tomcat-7.0.33.tar.gz。解压缩:
     
     tar xzvf apache-tomcat-7.0.33.tar.gz
    将解压缩后的文件夹拷贝到/usr/local/tomcat:
    cp-R apache-tomcat-7.0.33 /usr/local/tomcat
    进入tomcat目录设置tomcat 的内存使用情况及其他配置:
    cd /usr/local/tomcat/bin
     vi daemon.sh
    在正文开始的地方加入以下内容(注意将jdk等目录结合自己的实际情况进行修改) :
     
    # chkconfig: 2345 20 80
    # description: simpleexample to start tomcat
    JAVA_HOME=/usr/local/jdk1.7.0_75
    CATALINA_HOME=/usr/local/tomcat
    CATALINA_OPTS="-server-Xms512m -Xmx2000m -XX:PermSize=256m -XX:MaxPermSize=2048 -Dfile.encoding=UTF-8-Dsun.jnu.encoding=UTF-8 -Djava.awt.headless=true"

        参数说明:(红色标注的是根据业务情况,我们公司业务需要这些参数)
         
        -server:一定要作为第一个参数,在多个CPU时性能佳
         
        -Xms:初始Heap大小,使用的最小内存,cpu性能高时此值应设的大一些
         
        -Xmx:java heap最大值,使用的最大内存
         
        -XX:PermSize:设定内存的永久保存区域
         
        -XX:MaxPermSize:设定最大内存的永久保存区域
         
        -XX:MaxNewSize:
         
        +XX:AggressiveHeap 会使得 Xms没有意义。这个参数让jvm忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽一个G的swap。
         
        -Xss:每个线程的Stack大小
         
        -verbose:gc 现实垃圾收集信息
         
        -Xloggc:gc.log 指定垃圾收集日志文件
         
        -Xmn:young generation的heap大小,一般设置为Xmx的3、4分之一
         
        -XX:+UseParNewGC :缩短minor收集的时间
         
        -XX:+UseConcMarkSweepGC :缩短major收集的时间

        提示:此选项在Heap Size 比较大而且Major收集时间较长的情况下使用更合适。


4、 配置Tomcat为daemon方式启动
    将daemon.sh 拷贝到启动目录,安装服务,测试服务:
    先编译安装 commons-daemon :
    先安装gcc,因为编译的时候要用到 
    yuminstall gcc 
    创建tomcat用户,用来运行tomcat服务:
    在生产环境用 root 是不安全的,所以 
    useradd-s /sbin/nologin tomcat
    chown-R tomcat:tomcat /usr/local/tomcat (最后做)
    做为 service,和操作系统一起启动
     
    # tarxzvf commons-daemon-native.tar.gz
    # cdcommons-daemon-1.0.10-native-src/unix
    #./configure
    #make
    # cpjsvc ../..
    # cd../..

    cp daemon.sh  /etc/rc.d/init.d/tomcat9091
    chmod 755  /etc/rc.d/init.d/tomcat9091
    chkconfig --add tomcat9091
    chkconfig tomcat9091 on
    chkconfig --list tomcat9091
    显示: 
    tomcat0:off 1:off 2:on 3:on 4:on 5:on 6:off ←确认2~5为on的状态就OK
    启动Tomcat:
    servicetomcat start
    修改tomcat默认端口为9091,增加安全性!
    cd/usr/local/tomcat/conf
    viserver.xml
        <Connector port="9091" protocol="HTTP/1.1"
                  connectionTimeout="20000"
                   redirectPort="8443" URIEncoding="UTF-8" />                      #将此处默认的8080端口改为9091
    增加编码格式:URIEncoding="UTF-8"
  

    chown -R tomcat:tomcat /usr/local/tomcat

    增加防火墙配置,允许9091端口:
     # vi /etc/sysconfig/iptables
    在允许ssh的下面增加一条:
    -AINPUT -m state --state NEW -m tcp -p tcp --dport 9091 -j ACCEPT 
    保存,重启iptables服务 :
    #service iptables restart 

5、测试:
    本机测试: 
    wget http://localhost:9091/ 
    从其他机器 测试:
    浏览器中输入 http://ip:9091/ 

6、Tomcat默认日志路径修改
    Tomcat安装目录下Logs目录下默认会产生4种日志文件:catalina.*.log,host-manager.*.log,localhost.*.log,manager.*.log。系统出现异常的时候,有时候log文件会暴涨。这里偶是把日志文件移动到一个比较空的盘符,他爱怎么涨就涨吧。
    找到Tomcat安装目录下conf目录中的logging.properties文件,修改
     
    1catalina.org.apache.juli.FileHandler.level= FINE
    1catalina.org.apache.juli.FileHandler.directory= ${catalina.base}/logs
    1catalina.org.apache.juli.FileHandler.prefix= catalina.

    2localhost.org.apache.juli.FileHandler.level= FINE
    2localhost.org.apache.juli.FileHandler.directory= ${catalina.base}/logs
    2localhost.org.apache.juli.FileHandler.prefix= localhost.

    3manager.org.apache.juli.FileHandler.level= FINE
    3manager.org.apache.juli.FileHandler.directory= ${catalina.base}/logs
    3manager.org.apache.juli.FileHandler.prefix= manager.

    4host-manager.org.apache.juli.FileHandler.level= FINE
    4host-manager.org.apache.juli.FileHandler.directory= ${catalina.base}/logs
    4host-manager.org.apache.juli.FileHandler.prefix= host-manager.

    将${catalina.base}/logs修改成指定目录:例如e:/logs。
    修改access日志路径的话要在server.xml文件中修改directory目录的位置:
     
    <ValveclassName="org.apache.catalina.valves.AccessLogValve"directory="/apps/server/log/tomcat/tomcat8008"          #此处将默认的logs目录修改为自定义日志路径
                  prefix="localhost_access_log." suffix=".txt"
                   pattern="%h %l %u %t&quot;%r&quot; %s %b %D" />   #此处加个%D的参数,表示日志输出增加响应时间的参数(毫秒)
  

  QQ群:1414406 欢迎交流

https://www.iyunv.com/thread-449805-1-1.html




安装第一个Tomcat

把apache-tomcat-8.5.20.tar.gz传到/usr/local目录下

执行如下命令进行解压

tar -xvf apache-tomcat-8.5.20.tar.gz

把Centos7自带的防火墙firewalld关闭,然后开启之前的版本iptables。

systemctl stop firewalld //关闭firewalld服务
systemctl disable firewalld //禁止firewalld服务开机启动
yum install -y iptables-services //安装iptables-services
systemctl enable iptables //让它开机启动
systemctl start iptables //启动iptables

现在就可以 使用之前版本的iptables了。CentOS上默认有iptables规则,这个规则虽然很安全,但对于我们来说没有用,反而会造成某些影响,所以建议先清除规则,然后把清除的规则保存一下。

iptables -nvL
iptables -F;service iptables save

-nvL选项表示查看规则,-F选项表示清除当前规则,但清除只是临时的,启动系统或者重启iptables服务后还会加载已经保存的规则,所以需要使用service iptables save保存一下规则。通过上面的命令输出,可以看到,防火墙的规则保存在/etc/sysconfig/iptables中。

开放Linux的对外访问的端口8080

iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
service iptables save

进入tomcat的bin下启动:./startup.sh

之后在windows系统中的浏览器中输入http://192.168.183.129:8080/

就可以看到界面了

关闭Tomcat,进入tomcat的bin下关闭:./shutdown.sh

安装第二个Tomcat

我先把之前解压的Tomcat文件apache-tomcat-8.5.20改个名

mv apache-tomcat-8.5.20 tomcat1-8080

然后再解压出一份来

tar -xvf apache-tomcat-8.5.20.tar.gz

重新起个名

mv apache-tomcat-8.5.20 tomcat2-8081

对外开放8081端口

iptables -I INPUT -p tcp --dport 8081 -j ACCEPT
service iptables save

需要修改三个端口号,启动第一个tomcat中的/conf/server.xml中的内容为

//8005远程停服务端口
<Server port="8005" shutdown="SHUTDOWN">
//8080为http端口
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
//8009为AJP端口,Apache能通过AJP协议访问Tomcat的8009端口             
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />               

现在我把第二个Tomcat的端口改为

<Server port="7081" shutdown="SHUTDOWN">
<Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />         
<Connector port="9081" protocol="AJP/1.3" redirectPort="8443" />    

然后分别启动两个Tomcat

然后访问http://192.168.183.129:8080/http://192.168.183.129:8081/。会发现都可以访问到了。

设置tomcat开机自启

现在我把两个Tomcat都关了。

找到/etc/rc.d/文件下的rc.local,添加如下内容

export JAVA_HOME=/usr/local/jdk1.8.0_144
export JRE_HOME=$JAVA_HOME/jre

sh /usr/local/tomcat1-8080/bin/startup.sh
sh /usr/local/tomcat2-8081/bin/startup.sh

sh /usr/tomcat/apache-tomcat-9.0.0.M1-80/bin/startup.sh这条命令是启动命令,可以配置多条。 
给rc.local文件添加执行权限

chmod +x rc.local

重启服务器

reboot

然后在浏览器访问

http://192.168.183.129:8080/http://192.168.183.129:8081/

运行.sh文件的方法

linux下运行.sh文件的方法,有两种:

  • 直接./加上文件名.sh,如运行hello.sh为./hello.sh(hello.sh必须有x权限)
  • 直接sh加上文件名.sh,如运行hello.sh为sh hello.sh(hello.sh可以没有x权限)

猜你喜欢

转载自blog.csdn.net/xuheng8600/article/details/80076617