1. 程式人生 > >生產場景tomcat多實例標準安裝

生產場景tomcat多實例標準安裝

nginx nec port chown ots roo top hotspot ini

#####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多實例標準安裝