CentOS 6 x86_64 への Tomcat インストール

続いてアプリケーションサーバ Tomcat のセットアップ。

取り敢えず、最新を入れておきたいので、Apache Tomcat のサイトからダウンロードしてセットアップすることにしよう。

現時点では Tomcat 8.0.32 が最新版か。

(1) 最新版のダウンロード

Tomcat 8 のダウンロードサイトより、apache-tomcat-8.0.32.tar.gz を /usr/local 上にダウンロード

# cd /usr/local/
# wget http://ftp.yz.yamagata-u.ac.jp/pub/network/apache/tomcat/tomcat-8/v8.0.32/bin/apache-tomcat-8.0.32.tar.gz
# ls -la apache-tomcat-8.0.32.tar.gz
-rw-r--r-- 1 root root 9169108 Feb  3 05:03 apache-tomcat-8.0.32.tar.gz


(2) tar.gz ファイルの展開

# tar xvfzp apache-tomcat-8.0.32.tar.gz

(3) ディレクトリ名の変更

展開した配布物のディレクトリ名を、apache-tomcat-8.0.32 から tomcat に変更する。

# mv apache-tomcat-8.0.32 tomcat

でもいいけど、今後、新しいバージョンを入れた時に切り替えやすいよう、シンボリックリンクにしとこうか。

# ln -s apache-tomcat-8.0.32 tomcat
# ls -la tomcat
lrwxrwxrwx 1 root root 20 Feb 12 16:26 tomcat -> apache-tomcat-8.0.32

(4) 所有者を tomcat に変更

安全のため、実行ユーザを tomcat という一般ユーザにする。
そのため、tomcat ディレクトリ以下の所有者も tomcat に。
(シンボリックリンクしているので、実体の方を chown する)

# useradd -s /sbin/nologin tomcat
# chown -R tomcat apache-tomcat-8.0.32

(5) 実行してみる

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

自宅PCのブラウザで、
http://www.exsample.com:8080/
にアクセスしてみると、無事、Apache Tomcat/8.0.32 の画面が見えた。

(6) ポート番号 8080 を別の番号に変更

どうも、8080番のポート番号はプロキシサーバのものという認識なので(昔からサーバ屋をしている人は皆そうだと思うけど(^^;)、別のポート番号に変更する。

# grep 8080 tomcat/conf/server.xml
         Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
    <Connector port="8080" protocol="HTTP/1.1"
               port="8080" protocol="HTTP/1.1"

ここを修正かね?

# cp tomcat/conf/server.xml tomcat/conf/server.xml_20160212
# vi tomcat/conf/server.xml
# diff tomcat/conf/server.xml tomcat/conf/server.xml_20160212
67c67
<          Define a non-SSL/TLS HTTP/1.1 Connector on port 8080 ==> 9876
---
>          Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
69c69
<     <Connector port="9876" protocol="HTTP/1.1"
---
>     <Connector port="8080" protocol="HTTP/1.1"
75c75
<                port="9876" protocol="HTTP/1.1"
---
>                port="8080" protocol="HTTP/1.1"

kill -HUP XXX じゃ駄目で、ちゃんと、シャットダウンコマンドで終わらせてから再起動しないと新しいポート番号は有効にならんようやね。

# tomcat/bin/shutdown.sh
# sudo -u tomcat tomcat/bin/startup.sh

これで、
http://www.exsample.com:9876/
でアクセス可能となる。

iptables とかで制限かけてる時は、そっちの設定変更も必要よ。

(7) 自動起動の設定をする

# cat > /etc/init.d/tomcat
#!/bin/bash
#
# Startup script for the Tomcat Servlet Container
#
# chkconfig: 2345 35 65
# description: Tomcat is the servlet container that is used in the official \
#              Reference Implementation for the Java Servlet and JavaServer \
#              Pages technologies

TOMCAT_USER=tomcat
CATALINA_HOME=/usr/local/tomcat

. /etc/rc.d/init.d/functions
prog=tomcat

start() {
    echo -n $"Starting $prog: "
    daemon --user $TOMCAT_USER $CATALINA_HOME/bin/startup.sh > /dev/null
    RETVAL=$?
    if [ $RETVAL -eq 0 ]; then
        echo_success
    else
        echo_failure
    fi
    echo
    [ $RETVAL = 0 ] && touch /var/lock/subsys/$prog
    return $RETVAL
}
stop() {
    echo -n $"Stopping $prog: "
    daemon --user $TOMCAT_USER $CATALINA_HOME/bin/shutdown.sh > /dev/null
    RETVAL=$?
    if [ $RETVAL -eq 0 ]; then
        echo_success
    else
        echo_failure
    fi
    echo
    [ $RETVAL = 0 ] && rm -f /var/lock/subsys/$prog
    return $RETVAL
}

# See how we were called.
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    start
    ;;
  status)
    INSTANCES=`ps --columns 512 -aef|grep java|grep tomcat|grep org.apache.catalina.startup.Bootstrap|wc -l`
    if [ $INSTANCES -eq 0 ]; then
        echo $prog is stopped
        RETVAL=3
    else
        if [ $INSTANCES -eq 1 ]; then
            echo $prog is running 1 instance...
        else
            echo $prog is running $INSTANCES instances...
        fi
        RETVAL=0
    fi
    ;;
  *)
    echo $"Usage: $prog {start|stop|restart|status|help}"
    exit 1
esac

exit $RETVAL

ozuma さんのサイトに載っていたスクリプト例の丸パクリです。

# chmod 755 /etc/init.d/tomcat
# chkconfig --add tomcat
# chkconfig --list tomcat
tomcat          0:off   1:off   2:on    3:on    4:on    5:on    6:off

(8) 自動起動スクリプトを使って起動

まず、現在立ち上げている Tomcat を落とす。

# tomcat/bin/shutdown.sh

そして、service コマンドで起動。

# service tomcat start
Starting tomcat:                                           [  OK  ]
# ps auxww|grep tomcat
tomcat   12464 57.1  7.4 2726440 75868 ?       Sl   19:12   0:04 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/tomcat/endorsed -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root     12489  0.0  0.0 103244   872 pts/0    S+   19:12   0:00 grep tomcat

バッチリ。

取り敢えず Apache との連携はせず、これで Java(JSP、サーブレット)の自習をしましょう。

トラックバック(0)

このブログ記事を参照しているブログ一覧: CentOS 6 x86_64 への Tomcat インストール

このブログ記事に対するトラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/3802

コメントする

このブログ記事について

このページは、shinodaが2016年2月12日 19:28に書いたブログ記事です。

ひとつ前のブログ記事は「CentOS 6 x86_64 への JDK インストール」です。

次のブログ記事は「エスプレッソコーヒーメーカー」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら