[CentOS] JDK+tomcat クラスタ + nginx 一括インストールスクリプト CentOS での JDK+tomcat クラスタ + nginx のインストールスクリプトを整理しました。CentOS6.x/7.x をサポートしています。
1. インストール前の準備
# is root user
if [ "$(whoami)" != 'root' ]; then
echo "インストールには root ユーザーが必要です"
exit
fi
2. 必要なインストールファイルのダウンロード
echo "======================== インストールパッケージの準備 ======================"
file1=./jdk-8u144-linux-x64.tar.gz
if [ ! -f "$file1" ]; then
echo "jdk-8u144-linux-x64.tar.gz が必要です。ダウンロードを試みます。"
curl -L -C - -b "oraclelicense=accept-securebackup-cookie" -O http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz
fi
file2=./apache-tomcat-8.0.45.tar.gz
if [ ! -f "$flie2" ]; then
echo "apache-tomcat-8.0.45.tar.gz が必要です。ダウンロードを試みます。"
curl -O http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.0.45/bin/apache-tomcat-8.0.45.tar.gz
fi
file3=./nginx-1.13.4.tar.gz
if [ ! -f "$flie3" ]; then
echo "nginx-1.13.4.tar.gz が必要です。ダウンロードを試みます。"
curl -O http://nginx.org/download/nginx-1.13.4.tar.gz
fi
3.JDK のインストール
#) JDK をインストール
echo "========================jdk をインストール中 ======================"
tar zxvf jdk-8u144-linux-x64.tar.gz
mv jdk1.8.0_144 /usr/local/jdk1.8.0_144
echo "jdk1.8.0_144 が /usr/local/jdk1.8.0_144 に名前変更されました"
ln -s /usr/local/jdk1.8.0_144 /usr/local/jdk
echo "jdk1.8.0_144 が /usr/local/jdk にリンクされました"
;
#) 環境変数を /etc/profile に追加
echo "export JAVA_HOME=/usr/local/jdk" >> /etc/profile
echo "export PATH=$JAVA_HOME/bin:$PATH" >> /etc/profile
echo "export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar" >> /etc/profile
;
source /etc/profile
4.Tomcat のインストール、ここでは個別インスタンス方式で複数の Tomcat インスタンスをインストールします
#) tomcat をインストール
echo "====================apache-tomcat をインストール中 ==================="
tar zxvf apache-tomcat-8.0.45.tar.gz
mv apache-tomcat-8.0.45 /usr/local/tomcat1
cp -p /usr/local/tomcat1/bin/catalina.sh /etc/init.d/tomcat1
#) tomcat を設定
sed -i '1a\. /etc/init.d/functions' /etc/init.d/tomcat1
sed -i '2a\:' /etc/init.d/tomcat1
sed -i '3a\JAVA_HOME=/usr/local/jdk' /etc/init.d/tomcat1
sed -i '4a\CATALINA_BASE=/usr/local/tomcat1' /etc/init.d/tomcat1
sed -i '5a\CATALINA_HOME=/usr/local/tomcat1' /etc/init.d/tomcat1
;
#/etc/init.d/tomcat1
#chkconfig --add tomcat1
#chkconfig tomcat1 on
tar zxvf apache-tomcat-8.0.45.tar.gz
mv apache-tomcat-8.0.45 /usr/local/tomcat2
cp -p /usr/local/tomcat2/bin/catalina.sh /etc/init.d/tomcat2
#) tomcat を設定
sed -i '1a\. /etc/init.d/functions' /etc/init.d/tomcat2
sed -i '2a\:' /etc/init.d/tomcat2
sed -i '3a\JAVA_HOME=/usr/local/jdk/' /etc/init.d/tomcat2
sed -i '4a\CATALINA_BASE=/usr/local/tomcat2' /etc/init.d/tomcat2
sed -i '5a\CATALINA_HOME=/usr/local/tomcat2' /etc/init.d/tomcat2
;
/etc/init.d/tomcat2
#chkconfig --add tomcat2
#chkconfig tomcat2 on
#/usr/local/tomcat1/bin/startup.sh
#/usr/local/tomcat1/bin/startup.sh
5.nginx のインストール
#nginx をインストール
echo "====================nginx をインストール中 ==================="
yum install -y make gcc
yum install -y pcre*
yum install -y openssl*
yum install -y zlib zlib-devel
tar zxvf nginx-1.13.4.tar.gz
cd nginx-1.13.4
./configure --prefix=/usr/local/nginx-1.13.4 \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-pcre
make install
#シンボリックリンクを作成
ln -s /usr/local/nginx-1.13.4 /usr/local/nginx
6.svn のインストール、コードとアプリケーションの管理
echo "====================subversion をインストール中 ==================="
#subversion をインストール
yum install -y subversion
7. アプリケーションの起動
echo "==================== アプリケーションを起動中 ==================="
#tomcat1
/etc/init.d/tomcat1 stop
/etc/init.d/tomcat1 start
#tomcat2
/etc/init.d/tomcat1 stop
/etc/init.d/tomcat2 start
#nginx
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx
完全なインストールスクリプト
is root user#
if [ "$(whoami)" != 'root' ]; then
echo "インストールには root ユーザーが必要です"
exit
fi
echo "======================== インストールパッケージの準備 ======================"
file1=./jdk-8u144-linux-x64.tar.gz
if [ ! -f "$file1" ]; then
echo "jdk-8u144-linux-x64.tar.gz が必要です。ダウンロードを試みます。"
curl -L -C - -b "oraclelicense=accept-securebackup-cookie" -O http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz
fi
file2=./apache-tomcat-8.0.45.tar.gz
if [ ! -f "$flie2" ]; then
echo "apache-tomcat-8.0.45.tar.gz が必要です。ダウンロードを試みます。"
curl -O http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.0.45/bin/apache-tomcat-8.0.45.tar.gz
fi
file3=./nginx-1.13.4.tar.gz
if [ ! -f "$flie3" ]; then
echo "nginx-1.13.4.tar.gz が必要です。ダウンロードを試みます。"
curl -O http://nginx.org/download/nginx-1.13.4.tar.gz
fi
#) JDK をインストール
echo "========================jdk をインストール中 ======================"
tar zxvf jdk-8u144-linux-x64.tar.gz
mv jdk1.8.0_144 /usr/local/jdk1.8.0_144
echo "jdk1.8.0_144 が /usr/local/jdk1.8.0_144 に名前変更されました"
ln -s /usr/local/jdk1.8.0_144 /usr/local/jdk
echo "jdk1.8.0_144 が /usr/local/jdk にリンクされました"
;
#) 環境変数を /etc/profile に追加
echo "export JAVA_HOME=/usr/local/jdk" >> /etc/profile
echo "export PATH=$JAVA_HOME/bin:$PATH" >> /etc/profile
echo "export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar" >> /etc/profile
;
source /etc/profile
#) tomcat をインストール
echo "====================apache-tomcat をインストール中 ==================="
tar zxvf apache-tomcat-8.0.45.tar.gz
mv apache-tomcat-8.0.45 /usr/local/tomcat1
cp -p /usr/local/tomcat1/bin/catalina.sh /etc/init.d/tomcat1
#) tomcat を設定
sed -i '1a\. /etc/init.d/functions' /etc/init.d/tomcat1
sed -i '2a\:' /etc/init.d/tomcat1
sed -i '3a\JAVA_HOME=/usr/local/jdk' /etc/init.d/tomcat1
sed -i '4a\CATALINA_BASE=/usr/local/tomcat1' /etc/init.d/tomcat1
sed -i '5a\CATALINA_HOME=/usr/local/tomcat1' /etc/init.d/tomcat1
;
#/etc/init.d/tomcat1
#chkconfig --add tomcat1
#chkconfig tomcat1 on
tar zxvf apache-tomcat-8.0.45.tar.gz
mv apache-tomcat-8.0.45 /usr/local/tomcat2
cp -p /usr/local/tomcat2/bin/catalina.sh /etc/init.d/tomcat2
#) tomcat を設定
sed -i '1a\. /etc/init.d/functions' /etc/init.d/tomcat2
sed -i '2a\:' /etc/init.d/tomcat2
sed -i '3a\JAVA_HOME=/usr/local/jdk/' /etc/init.d/tomcat2
sed -i '4a\CATALINA_BASE=/usr/local/tomcat2' /etc/init.d/tomcat2
sed -i '5a\CATALINA_HOME=/usr/local/tomcat2' /etc/init.d/tomcat2
;
/etc/init.d/tomcat2
#chkconfig --add tomcat2
#chkconfig tomcat2 on
#/usr/local/tomcat1/bin/startup.sh
#/usr/local/tomcat1/bin/startup.sh
#nginx をインストール
echo "====================nginx をインストール中 ==================="
yum install -y make gcc
yum install -y pcre*
yum install -y openssl*
yum install -y zlib zlib-devel
tar zxvf nginx-1.13.4.tar.gz
cd nginx-1.13.4
./configure --prefix=/usr/local/nginx-1.13.4 \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-pcre
make install
#シンボリックリンクを作成
ln -s /usr/local/nginx-1.13.4 /usr/local/nginx
echo "====================subversion をインストール中 ==================="
#subversion をインストール
yum install -y subversion
echo "==================== アプリケーションを起動中 ==================="
#tomcat1
/etc/init.d/tomcat1 stop
/etc/init.d/tomcat1 start
#tomcat2
/etc/init.d/tomcat1 stop
/etc/init.d/tomcat2 start
#nginx
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx