CentOS6にTomcat8.5をインストール&自動起動設定
はじめに
とあるプロジェクトで、Java(Spring Boot)でWEBアプリケーションを作ることにした
開発中はWindows内の統合開発環境の組み込みサーバで、アプリの動作確認できる
しかし本運用は多分CentOSで、今までApache+PHPの環境構築しかやったことがなかったため、デプロイの方法とか全然わからない・・・
なので色々調査・検討のためCentOSにTomcatサーバをインストールしてみた
環境
Java8のインストール
以下のサイトにアクセスしてURLを取得
Java SE Development Kit 8 - Downloads
wgetでrpmをダウンロードする。(「Accept License Agreement」が選ばれていないとダウンロードできないので色々オプションを追加している)
# wget --no-check-certificate --no-cookies - --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm # rpm -Uvh jdk-8u131-linux-x64.rpm
以下のコマンドでインストールされたか確認
# java -version java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
Tomcatのインストール
Tomcatのインストール先を「/opt/tomcat」にするためディレクトリを作成
# mkdir /opt/tomcat
以下のページにアクセスして、ダウンロードするファイルのURLを取得
Apache Tomcat® - Apache Tomcat 8 Software Downloads
Javaのrpmと同じようにwgetでTomcatをダウンロードしアーカイブを展開する
# cd /opt/tomcat # wget http://www-eu.apache.org/dist/tomcat/tomcat-8/v8.5.16/bin/apache-tomcat-8.5.16.tar.gz # tar xvf apache-tomcat-8.5.16.tar.gz
環境変数の追加
Tomcatに必要な環境変数が読み込まれるように「/etc/profile.d/tomcat.sh」を新規作成する
「/etc/profile.d/tomcat.sh」に以下を追記する
JRE_HOME=/usr/java/default CATALINA_HOME=/opt/tomcat/apache-tomcat-8.5.16 export JRE_HOME CATALINA_HOME
現在のターミナルに環境変数を適用
# . /etc/profile
Tomcat起動
以下のコマンドでTomcatを起動する
# /opt/tomcat/apache-tomcat-8.5.16/bin/startup.sh
外部からアクセスするためiptablesの修正。以下をsshの設定あたりに追加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
ブラウザからアクセスするとTomcatのページが表示される
ちなみにTomcatの停止は以下のコマンド
# /opt/tomcat/apache-tomcat-8.5.16/bin/shutdown.sh
起動スクリプトの作成
なので、以下のサイトをパクって参考に起動スクリプトを作成
「/etc/init.d/tomcat」を新規作成
# vim /etc/init.d/tomcat
スクリプトの中身
#!/bin/sh # # chkconfig: 2345 85 15 # description: My Tomcat auto start # . /etc/rc.d/init.d/functions . /etc/profile.d/tomcat.sh case "$1" in start) echo -n "Tomcat starting..." ${CATALINA_HOME}/bin/startup.sh ;; stop) echo -n "Tomcat stopping..." ${CATALINA_HOME}/bin/shutdown.sh ;; restart) $0 stop $0 start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 esac exit 0
# chmod 755 /etc/init.d/tomcat # chkconfig --add tomcat # chkconfig --list tomcat(起動するランタイムの確認)
CentOSを再起動しても8080にアクセスするとTomcatのページが表示される
おわりに
とりあえず今回はTomcatのインストール・自動起動の設定までやった
本運用のためには他にもポート番号の変更・logrotate等の設定等やらないといけないと思うが、また別の機会に実施しようと思う