码迷,mamicode.com
首页 > 其他好文 > 详细

生产场景tomcat多实例标准安装

时间:2018-08-02 19:12:28      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:end   bsp   webapp   jdk安装   测试   java jdk   not run   usr   tomcat   

#####tomcat多实例安装#####

1、安装java jdk1.8.0_172

############################生产场景一键快速安装java jdk ####################################

mkdir /usr/java

cd /usr/local/src/

rz -y           上传jdk-8u172-linux-x64.tar.gz,jdk版本为1.8.0.172

tar xf jdk-8u172-linux-x64.tar.gz -C /usr/java

ln -s /usr/java/jdk1.8.0_172/ /usr/java/jdk

 

vim /etc/profile     #添加如下4行内容

#set java environment

export JAVA_HOME=/usr/java/jdk

export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

一键命令操作如下:

sed -i.ori '$a #set java environment\nexport export JAVA_HOME=/usr/java/jdk\nexport export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib\nexport export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH' /etc/profile

 

source /etc/profile

java -version         

出现如下3行说明java jdk安装完成

java version "1.8.0_172"

Java(TM) SE Runtime Environment (build 1.8.0_172-b11)

Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)

################################一键快速安装java jdk 完成#####################################


2、安装tomcat多实例

mkdir /server/tools -p

mkdir /application/

cd /server/tools

rz -y  #上传apache-tomcat-8.5.31.tar.gz

tar xf apache-tomcat-8.5.31.tar.gz -C /application/

cp -a /application/apache-tomcat-8.5.31 /application/tomcat-sbcd

cp -a /application/apache-tomcat-8.5.31 /application/tomcat-sbcd-h5


2.1、tomcat实例1:tomcat-sbce安装及配置

1)修改server.xml配置文件

vim /application/tomcat-sbce/conf/server.xml

修改1:

<Server port="8005" shutdown="SHUTDOWN">修改为:

<Server port="58006" shutdown="SHUTDOWN">

修改2:tomcat http端口默认8080,需要修改

    <Connector port="8080" protocol="HTTP/1.1"修改为如下:

    <Connector port="58080" protocol="HTTP/1.1"

修改3:8009是和apache httpd连接用的,因为前端用nginx,所以这里要把这个注释掉。

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />这段注释掉,修改为如下:

<!--

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

-->

修改4:

      <Host name="localhost"  appBase="webapps" 修改为如下:

      <Host name="localhost"  appBase="/data/webapps-sbce"


2)创建webapps目录和测试文件

mkdir /data/webapps-sbce/ROOT -p

echo tomcat is ok >/data/webapps-sbce/ROOT/index.jsp

[root@devops01-web-53 logs]# cat /data/webapps-sbce/ROOT/index.jsp

tomcat is ok


3)启动tomcat

useradd sysadmin

chown -R sysadmin.sysadmin /application/tomcat-sbce

chown -R sysadmin.sysadmin /data/webapps-sbce

chmod +x /etc/init.d/tomcat-sbce

[root@devops01-web-53 logs]# /etc/init.d/tomcat-sbce start

Starting tomcat

Tomcat is Started                                          [  OK  ]

[root@devops01-web-53 logs]# netstat -lntup|grep java

tcp        0      0 :::58080                    :::*                        LISTEN      938/java            

tcp        0      0 ::ffff:127.0.0.1:58005      :::*                        LISTEN      938/java            

[root@devops01-web-53 logs]# ps -ef|grep java


4)验证tomcat启动是否ok

浏览器登录

http://10.68.8.53:58080/

可以看到tomcat is ok即可

然后把测试的主页删除,

rm -f /data/webapps-sbce/ROOT/index.jsp

后面网站代码就放到/data/webapps-sbce/ROOT/目录即可


2.2、tomcat实例2:tomcat-sbce-h5安装及配置

1)修改server.xml配置文件

vim /application/tomcat-sbce-h5/conf/server.xml

修改1:

<Server port="8005" shutdown="SHUTDOWN">修改为:

<Server port="58006" shutdown="SHUTDOWN">

修改2:

    <Connector port="8080" protocol="HTTP/1.1"修改为如下:

    <Connector port="58081" protocol="HTTP/1.1"

修改3:8009是和apache httpd连接用的,因为前端用nginx,所以这里要把这个注释掉。

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />这段注释掉,修改为如下:

<!--

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

-->

修改4:

      <Host name="localhost"  appBase="webapps" 修改为如下:

      <Host name="localhost"  appBase="/data/webapps-sbce-h5"


2)创建webapps目录和测试文件

mkdir /data/webapps-sbce-h5/ROOT -p

echo tomcat is ok >/data/webapps-sbce-h5/ROOT/index.jsp

[root@devops01-web-53 logs]# cat /data/webapps-sbce-h5/ROOT/index.jsp

tomcat is ok


3)启动tomcat

useradd sysadmin

chown -R sysadmin.sysadmin /application/tomcat-sbce-h5

chown -R sysadmin.sysadmin /data/webapps-sbce-h5

[root@devops01-web-53 logs]# /etc/init.d/tomcat-sbce-h5 start

Starting tomcat

Tomcat is Started                                          [  OK  ]

[root@devops01-web-53 logs]# netstat -lntup|grep java

tcp        0      0 :::58080                    :::*                        LISTEN      938/java            

tcp        0      0 :::58081                    :::*                        LISTEN      1050/java           

tcp        0      0 ::ffff:127.0.0.1:58005      :::*                        LISTEN      938/java            

tcp        0      0 ::ffff:127.0.0.1:58006      :::*                        LISTEN      1050/java 

[root@devops01-web-53 logs]# ps -ef|grep java


4)验证tomcat启动是否ok

浏览器登录

http://10.68.8.53:58081/

可以看到tomcat is ok即可。

然后把测试的主页删除,

rm -f /data/webapps-sbce-h5/ROOT/index.jsp

后面网站代码就放到/data/webapps-sbce-h5/ROOT/目录即可


注意事项:

server.xml中<Host name="localhost"  appBase="/data/webapps-sbce-h5"

/data/webapps-sbce-h5/ROOT/index.jsp 此路径放网站代码


tomcat-sbce脚本如下:

export JAVA_HOME、export PATH、CATALINA_HOME、TOMCAT_USER

其中CATALINA_HOME=/application/tomcat-sbce/目录后面一定要带/否则,tomcat_pid匹配的时候不精确,比如有两个实例tomcat-sbce和tomcat-sbce-h5,要确定每个pid进程的时候,使用ps -ef|grep /application/tomcat-sbce可以查看两个进程,不精确,所以要带完整路径ps -ef|grep /application/tomcat-sbce/才精确。

变化的只有这4个变量。

[root@devops01-web-53 logs]# cat /etc/init.d/tomcat-sbce

#!/bin/bash

### BEGIN INIT INFO

# Provides:          tomcat

# Required-Start:    $remote_fs $syslog

# Required-Stop:     $remote_fs $syslog

# Default-Start:     2 3 4 5

# Default-Stop:      0 1 6

# Short-Description: tomcat-server daemon

# Description:       tomcat-server daemon

### END INIT INFO

#

# chkconfig: - 95 15

# description: Tomcat start/stop/status script


#Location of JAVA_HOME (bin files)

export JAVA_HOME=/usr/java/jdk


#Add Java binary files to PATH

export PATH=$JAVA_HOME/bin:$PATH


#CATALINA_HOME is the location of the configuration files of this instance of Tomcat

#CATALINA_HOME must be followed by /,Because you can use ps-ef |grep to match exactly

CATALINA_HOME=/application/tomcat-sbce/


#TOMCAT_USER is the default user of tomcat

TOMCAT_USER=sysadmin


#TOMCAT_USAGE is the message if this script is called without any options

TOMCAT_USAGE="Usage: $0 {\e[00;32mstart\e[00m|\e[00;31mstop\e[00m|\e[00;32mstatus\e[00m|\e[00;31mrestart\e[00m}"


#SHUTDOWN_WAIT is wait time in seconds for java proccess to stop

SHUTDOWN_WAIT=5

[ -f /etc/init.d/functions ] && . /etc/init.d/functions

actions(){

    RETVAL=$?

    if [ $RETVAL -eq 0 ];then

      action "Tomcat is $1" /bin/true

    else

      action "Tomcat is $1" /bin/false

    fi

}


tomcat_pid() {

  echo `ps -ef | grep $CATALINA_HOME | grep -v grep | tr -s " "|cut -d" " -f2`

}


start() {

  pid=$(tomcat_pid)

  if [ -n "$pid" ]; then

    echo -e "\e[00;31mTomcat is already running (pid: $pid)\e[00m"

  else

    if [ "$USER" = "root" ]; then

      echo -e "\e[00;32mStarting tomcat\e[00m"

      su - $TOMCAT_USER -c $CATALINA_HOME/bin/startup.sh >/dev/null 2>&1 &

      actions Started

    elif [ "$USER" = "$TOMCAT_USER" ];then

      echo -e "\e[00;32mStarting tomcat\e[00m"

      $CATALINA_HOME/bin/startup.sh >/dev/null 2>&1 &

      actions Started

    else

      echo -e "User must be root or $TOMCAT_USER"

      exit 2

    fi

  fi

  return 0

}


status() {

  pid=$(tomcat_pid)

  if [ -n "$pid" ]; then

    echo -e "\e[00;32mTomcat is running with pid: $pid\e[00m"

  else

    echo -e "\e[00;31mTomcat is not running\e[00m"

  fi

}


stop() {

  pid=$(tomcat_pid)

  if [ -n "$pid" ]; then

    [ "$USER" = "root" ] && {

      echo -e "\e[00;31mStoping Tomcat\e[00m"

      su - $TOMCAT_USER -c $CATALINA_HOME/bin/shutdown.sh >/dev/null 2>&1 &

    }

    [ "$USER" = "$TOMCAT_USER" ] && {

      echo -e "\e[00;31mStoping Tomcat\e[00m"

      $CATALINA_HOME/bin/shutdown.sh >/dev/null 2>&1 &

    }

    [ "$USER" != "root" -a "$USER" != "$TOMCAT_USER" ] && {

      echo -e "User must be root or $TOMCAT_USER"

      exit 2

    }

    let kwait=$SHUTDOWN_WAIT

    count=0;

    until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]

    do

      echo -n -e "\e[00;31mwaiting for processes to exit\e[00m\n";

      action stopped

      sleep 1

      let count=$count+1;

    done


    if [ $count -gt $kwait ]; then

      echo -n -e "\n\e[00;31mkilling processes which didn't stop after $SHUTDOWN_WAIT seconds\e[00m"

      kill -9 $pid

    fi

  else

    echo -e "\e[00;31mTomcat is not running\e[00m"

  fi


  return 0

}


case $1 in

  start)

    start

    ;;

  stop)

    stop

    ;;

  restart)

    stop

    start

    ;;

  status)

    status

    ;;

  *)

    echo -e $TOMCAT_USAGE

    ;;

esac

exit 0


生产场景tomcat多实例标准安装

标签:end   bsp   webapp   jdk安装   测试   java jdk   not run   usr   tomcat   

原文地址:http://blog.51cto.com/sandshell/2153781

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!