質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

systemd

systemdは、Linuxの起動処理及びシステム管理を行う技術です。他にも多くのサービス管理機能を備えており、ユーザープロセスを並列に起動しシステムの起動処理に要する時間を短縮できるなどの特徴があります。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

解決済

TomcatをSystemdで起動すると、接続できない

hirottsu76
hirottsu76

総合スコア13

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

systemd

systemdは、Linuxの起動処理及びシステム管理を行う技術です。他にも多くのサービス管理機能を備えており、ユーザープロセスを並列に起動しシステムの起動処理に要する時間を短縮できるなどの特徴があります。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

2回答

0評価

1クリップ

13395閲覧

投稿2016/09/30 05:26

###発生している事象
CentOS7環境のサーバ上で、Tomcat8を使用しています。
サーバ起動時の自動起動を、Systemdのserviceで行いたいと思っています。
コマンドライン上で起動スクリプトを実行した場合は問題なくブラウザからアクセスできるのですが、
Systemdから起動した場合はどういうわけかアクセスができません。(起動には成功します)
原因についてご教授いただければと思います。

###設定ファイル・環境等
~rootユーザで、コマンドライン上で起動スクリプト(startup.sh)を実行する場合~

○コンソール出力

Using CATALINA_BASE: /opt/apache-tomcat/apache-tomcat-8.0.24 Using CATALINA_HOME: /opt/apache-tomcat/apache-tomcat-8.0.24 Using CATALINA_TMPDIR: /opt/apache-tomcat/apache-tomcat-8.0.24/temp Using JRE_HOME: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64 Using CLASSPATH: .:/opt/apache-tomcat/apache-tomcat-8.0.24/lib/servlet-api.jar:/root/postgresql_jdbc/postgresql-9.4-1202.jdbc42.jar:/opt/apache-tomcat/apache-tomcat-8.0.24/bin/bootstrap.jar:/opt/apache-tomcat/apache-tomcat-8.0.24/bin/tomcat-juli.jar Tomcat started.

○envコマンド結果

XDG_SESSION_ID=278 HOSTNAME=erp SELINUX_ROLE_REQUESTED= TERM=xterm SHELL=/bin/bash CATALINA_HOME=/opt/apache-tomcat/apache-tomcat-8.0.24 HISTSIZE=1000 SSH_CLIENT=10.0.0.224 49329 22 SELINUX_USE_CURRENT_RANGE= SSH_TTY=/dev/pts/0 JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64 USER=root MAIL=/var/spool/mail/root PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin PWD=/opt/apache-tomcat/apache-tomcat-8.0.24/bin LANG=ja_JP.UTF-8 SELINUX_LEVEL_REQUESTED= HISTCONTROL=ignoredups SHLVL=1 HOME=/root LOGNAME=root CLASSPATH=.:/opt/apache-tomcat/apache-tomcat-8.0.24/lib/servlet-api.jar:/root/postgresql_jdbc/postgresql-9.4-1202.jdbc42.jar SSH_CONNECTION=10.0.0.224 49329 10.0.0.12 22 LESSOPEN=||/usr/bin/lesspipe.sh %s XDG_RUNTIME_DIR=/run/user/0 _=/usr/bin/env OLDPWD=/root

○/etc/profile

pathmunge () { case ":${PATH}:" in *:"$1":*) ;; *) if [ "$2" = "after" ] ; then PATH=$PATH:$1 else PATH=$1:$PATH fi esac } if [ -x /usr/bin/id ]; then if [ -z "$EUID" ]; then # ksh workaround EUID=`id -u` UID=`id -ru` fi USER="`id -un`" LOGNAME=$USER MAIL="/var/spool/mail/$USER" fi # Path manipulation if [ "$EUID" = "0" ]; then pathmunge /usr/sbin pathmunge /usr/local/sbin else pathmunge /usr/local/sbin after pathmunge /usr/sbin after fi HOSTNAME=`/usr/bin/hostname 2>/dev/null` HISTSIZE=1000 if [ "$HISTCONTROL" = "ignorespace" ] ; then export HISTCONTROL=ignoreboth else export HISTCONTROL=ignoredups fi export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then umask 002 else umask 022 fi for i in /etc/profile.d/*.sh ; do if [ -r "$i" ]; then if [ "${-#*i}" != "$-" ]; then . "$i" else . "$i" >/dev/null fi fi done unset i unset -f pathmunge JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64 CATALINA_HOME=/opt/apache-tomcat/apache-tomcat-8.0.24 export JRE_HOME CATALINA_HOME export CLASSPATH=".:/opt/apache-tomcat/apache-tomcat-8.0.24/lib/servlet-api.jar:/root/postgresql_jdbc/postgresql-9.4-1202.jdbc42.jar"

~Systemdから起動する場合~

○/usr/lib/systemd/system/tomcat8.service

[Unit] Description=Apache Tomcat 8 After=network.target [Service] Type=forking EnvironmentFile=/etc/sysconfig/tomcat ExecStart=/opt/apache-tomcat/apache-tomcat-8.0.24/bin/startup.sh ExecStop=/opt/apache-tomcat/apache-tomcat-8.0.24/bin/shutdown.sh RemainAfterExit=yes User=root Group=root SuccessExitStatus=143 [Install] WantedBy=multi-user.target

○/etc/sysconfig/tomcat

JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64" JRE_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64" CATALINA_HOME="/opt/apache-tomcat/apache-tomcat-8.0.24" CLASSPATH=".:/opt/apache-tomcat/apache-tomcat-8.0.24/lib/servlet-api.jar:/root/postgresql_jdbc/postgresql-9.4-1202.jdbc42.jar:/opt/apache-tomcat/apache-tomcat-8.0.24/bin/bootstrap.jar:/opt/apache-tomcat/apache-tomcat-8.0.24/bin/tomcat-juli.jar"

○systemctl status tomcat8.service -l コマンド結果

● tomcat8.service - Apache Tomcat 8 Loaded: loaded (/usr/lib/systemd/system/tomcat8.service; enabled; vendor preset: disabled) Active: active (running) since 金 2016-09-30 14:24:06 JST; 10s ago Process: 14700 ExecStop=/opt/apache-tomcat/apache-tomcat-8.0.24/bin/shutdown.sh (code=exited, status=0/SUCCESS) Process: 14997 ExecStart=/opt/apache-tomcat/apache-tomcat-8.0.24/bin/startup.sh (code=exited, status=0/SUCCESS) Main PID: 15004 (java) CGroup: /system.slice/tomcat8.service mq15004 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64/bin/java -Djava.util.logging.config.file=/opt/apache-tomcat/apache-tomcat-8.0.24/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/opt/apache-tomcat/apache-tomcat-8.0.24/endorsed -classpath .:/opt/apache-tomcat/apache-tomcat-8.0.24/lib/servlet-api.jar:/root/postgresql_jdbc/postgresql-9.4-1202.jdbc42.jar:/opt/apache-tomcat/apache-tomcat-8.0.24/bin/bootstrap.jar:/opt/apache-tomcat/apache-tomcat-8.0.24/bin/tomcat-juli.jar -Dcatalina.base=/opt/apache-tomcat/apache-tomcat-8.0.24 -Dcatalina.home=/opt/apache-tomcat/apache-tomcat-8.0.24 -Djava.io.tmpdir=/opt/apache-tomcat/apache-tomcat-8.0.24/temp org.apache.catalina.startup.Bootstrap start 9月 30 14:24:06 erp systemd[1]: Starting Apache Tomcat 8... 9月 30 14:24:06 erp startup.sh[14997]: Using CATALINA_BASE: /opt/apache-tomcat/apache-tomcat-8.0.24 9月 30 14:24:06 erp startup.sh[14997]: Using CATALINA_HOME: /opt/apache-tomcat/apache-tomcat-8.0.24 9月 30 14:24:06 erp startup.sh[14997]: Using CATALINA_TMPDIR: /opt/apache-tomcat/apache-tomcat-8.0.24/temp 9月 30 14:24:06 erp startup.sh[14997]: Using JRE_HOME: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64 9月 30 14:24:06 erp startup.sh[14997]: Using CLASSPATH: .:/opt/apache-tomcat/apache-tomcat-8.0.24/lib/servlet-api.jar:/root/postgresql_jdbc/postgresql-9.4-1202.jdbc42.jar:/opt/apache-tomcat/apache-tomcat-8.0.24/bin/bootstrap.jar:/opt/apache-tomcat/apache-tomcat-8.0.24/bin/tomcat-juli.jar 9月 30 14:24:06 erp startup.sh[14997]: Tomcat started. 9月 30 14:24:06 erp systemd[1]: Started Apache Tomcat 8.

###試したこと
・ポートの使用状況、LISTEN状態は両起動方法で差異なし

###補足情報(言語/FW/ツール等のバージョンなど)

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

mit0223

2016/09/30 16:24

アクセスできないというのは、現象でしょうか?ブラウザ上のエラーメッセージはどのようなものですか?エラーになるまでに時間はかかりますか?tomcatのログにはエラーは出て無いのでしょうか?

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

systemd

systemdは、Linuxの起動処理及びシステム管理を行う技術です。他にも多くのサービス管理機能を備えており、ユーザープロセスを並列に起動しシステムの起動処理に要する時間を短縮できるなどの特徴があります。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。