CentOS 7でTomcatをサービスにインストールします。
環境:
JreにはServerJreとJreの違いがあります。両者の具体的な違いはServerJre起動時にデフォルトJvmがServerモードであり、いくつかの監視ツールが含まれています。具体的な違いはOracleのサイトにあります。現在一般的に存在している問題の一つは、ほとんどのJAVAプログラムがJAVA 7に基づいて開発されたということです。しかし、Oracleは早くからJava 8に更新されています。そして、ウェブサイトでデフォルトで提供されているのは、Jre 8のダウンロードです。でも、どのバージョンのJREをダウンロードしてもここで見つけられます。ServerJreをダウンロードする前に、ダウンロードリンクをアクティブにするために、Accent License Agreementを選択する必要があります。ここで選択したのは
2.tomcatの設置
3.tomcatを作成してユーザを実行し、対応ファイルに権限を与えます。
4.サービスファイルの編集
5.テスト
CentOS Linux release 7.3.1611 (Core)
3.10.0-514.16.1.el7.x86_64
1.Java環境のインストールJreにはServerJreとJreの違いがあります。両者の具体的な違いはServerJre起動時にデフォルトJvmがServerモードであり、いくつかの監視ツールが含まれています。具体的な違いはOracleのサイトにあります。現在一般的に存在している問題の一つは、ほとんどのJAVAプログラムがJAVA 7に基づいて開発されたということです。しかし、Oracleは早くからJava 8に更新されています。そして、ウェブサイトでデフォルトで提供されているのは、Jre 8のダウンロードです。でも、どのバージョンのJREをダウンロードしてもここで見つけられます。ServerJreをダウンロードする前に、ダウンロードリンクをアクティブにするために、Accent License Agreementを選択する必要があります。ここで選択したのは
server-jre-7u80-linux-x64.tar.gz
です。ダウンロードが完了し、 /usr/local/
に解凍しました。ここで注意したいのは、解凍後のserver-jre-7u80-linux-x64.tar.gz
の名前はjdk1.7.0_79
です。しかし、これは本物のJDKファイルとは違います。解凍が完了したら、/etc/profile
を編集して環境変数を設定し、検証します。cat >>/etc/profile << "EOF"
#set java env
JAVA_HOME=/usr/local/jdk1.7.0_80
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
EOF
source /etc/profile
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
これで、java環境の設置が完了しました。2.tomcatの設置
apache-tomcat-7.0.72.tar.gz
を直接ダウンロードして解凍し、解凍したディレクトリをtomcat7
に名前を変更し、/opt
に移動して実行環境ファイルを作成する。vim /opt/tomcat7/bin/setenv.sh
内容は/etc/profile
テールと一致している:JAVA_HOME=/usr/local/jdk1.7.0_80
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
これでtomcatのインストールと設定が完了しました。3.tomcatを作成してユーザを実行し、対応ファイルに権限を与えます。
groupadd tomcat
useradd -M -s /bin/nologin -g tomcat -d /opt/tomcat tomcat # tomcat, , tomcat.
cd /opt/tomcat7
chmod -R 754 bin/
chgrp -R tomcat /opt/tomcat
chmod -R g+r conf
chmod g+x conf
chown -R tomcat webapps/ work/ temp/ logs/
これにより、関連賦権は完了する。4.サービスファイルの編集
vim /etc/systemd/system/tomcat.service
設定は以下の通りですが、メモリ容量に応じて自分でCATALINA_OPTS
の値を調整する必要があります。一般的には-Xmsと-Xmxオプションを同じに設定します。-Xmnは1/4の-Xmx値です。ヒープの最大値は利用可能メモリの最大値の80%に設定することを推奨します。# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target
[Service]
Type=forking
Environment=CATALINA_PID=/opt/tomcat7/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat7
Environment=CATALINA_BASE=/opt/tomcat7
Environment='CATALINA_OPTS=-Xms128M -Xmx512M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat7/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
サービスユニットをリロードします。systemctl daemon-reload
これで全ての設定が完了しました。5.テスト
systemctl start tomcat
[root@localhost ~]# curl -I 127.0.0.1:8080
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=ISO-8859-1
Transfer-Encoding: chunked
Date: Tue, 06 Jun 2017 02:27:16 GMT
systemctl stop tomcat
curl -I 127.0.0.1:8080
curl: (7) Failed connect to 127.0.0.1:8080; Connection refused
完了します。