読者です 読者をやめる 読者になる 読者になる

CentOSにTomcat7をインストールする方法と起動スクリプトについて

tomcat
スポンサーリンク

CentOS に Tomcat7 をインストールして起動と停止をするまでの方法です。スクリプトの作成も書いています。

Tomcatのインストール

 Apache Tomcat - Welcome! のDownloadsページからバージョンを選択します。今回は Tomcat7 の Binary Distributions Core にしました。wget でダウンロードして解凍したら tomcat を置くディレクトリに移動しましょう。場所はどこでもいいです。

# wget http://ftp.riken.jp/net/apache/tomcat/tomcat-7/v7.0.62/bin/apache-tomcat-7.0.62.tar.gz
# tar zxvf apache-tomcat-7.0.62.tar.gz
# mv apache-tomcat-7.0.62 /usr/lib/

tomcat ユーザーを作成してディレクトリの権限を変えておきます。

# useradd -m -d /home/tomcat tomcat
# chown -R tomcat:tomcat /usr/lib/apache-tomcat-7.0.62/

apache-tomcat-7.0.62 のままだと名前が長いのでシンボリックリンクを貼っておきます。シンボリックリンクの権限を変える時は -h オプションです。

# ln -s /usr/lib/apache-tomcat-7.0.62/ /usr/lib/tomcat
# chown -h tomcat. /usr/lib/tomcat

Tomcatの起動と停止

起動するのには用意されているstartup.shを使用します。

# sudo -u tomcat /usr/lib/tomcat/bin/startup.sh
Using CATALINA_BASE:   /usr/lib/tomcat
Using CATALINA_HOME:   /usr/lib/tomcat
Using CATALINA_TMPDIR: /usr/lib/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/lib/tomcat/bin/bootstrap.jar:/usr/lib/tomcat/bin/tomcat-juli.jar
Tomcat started.

起動したらブラウザでhttp://<IPアドレス>:8080/にアクセスしてみましょう。

f:id:tasukujp:20150627203519p:plain

停止の場合はshutdown.shを使用します。

# sudo -u tomcat /usr/lib/tomcat/bin/shutdown.sh
Using CATALINA_BASE:   /usr/lib/tomcat
Using CATALINA_HOME:   /usr/lib/tomcat
Using CATALINA_TMPDIR: /usr/lib/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/lib/tomcat/bin/bootstrap.jar:/usr/lib/tomcat/bin/tomcat-juli.jar

起動停止スクリプトの作成

起動と停止は上記の通り、用意されているスクリプトでも実施できますが、ひとつにまとめて/etc/init.dにスクリプトを作成し、service コマンドで実行したり chkconfig に追加できるようにしたいと思います。

スクリプトは以下の通りです。基本的な形ですので必要があれば適宜修正してください。起動と停止にstartup.shshutdown.shは使わずにcatalina.shで直接実行しています。

作成したら実行権限を付けます。

# chmod +x /etc/init.d/tomcat

環境変数について

catalina.shを開くと環境変数について記述されていますが、CATALINA_HOMECATALINA_PID、Java実行オプションのJAVA_OPTSなどを指定したい場合は$CATALINA_HOME/bin/setenv.shに記載するようにしましょう。自動で読み込んでくれます。

また、スクリプトの停止コマンドで-forceオプションが付いていますが、これは強制停止してくれるオプションです。内部でプロセスをkill -9 <プロセス>しているため、PIDファイルが必要になるのですが、PIDファイルは環境変数CATALINA_PIDを指定しておくだけで作成してくれます。

ApacheとTomcatの連携

アクセスする際に 8080 を指定しなくてもいいようにApacheとTomcatを連携します。httpd.conf ファイルに以下の ProxyPass を追加してください。tomcat に用意されているサンプルプログラムで確認します。

# vi /etc/httpd/conf/httpd.conf
ProxyPass /tomcat/ ajp://localhost:8009/
ProxyPass /examples/ ajp://localhost:8009/examples/

更新したら httpd を再起動します。

# service httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]

ブラウザでhttp://<IPアドレス>/tomcat/にアクセスすると tomcat の画面に、http://<IPアドレス>/tomcat/examples/にアクセスするとサンプルプログラムに、8080 が無くてもアクセスできるようになりました。

f:id:tasukujp:20150628010036p:plain