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/
にアクセスしてみましょう。
停止の場合は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.sh
とshutdown.sh
は使わずにcatalina.sh
で直接実行しています。
作成したら実行権限を付けます。
# chmod +x /etc/init.d/tomcat
環境変数について
catalina.sh
を開くと環境変数について記述されていますが、CATALINA_HOME
やCATALINA_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 が無くてもアクセスできるようになりました。