🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
CentOS

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

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Tomcat

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

Apache Tomcat

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

Q&A

解決済

1回答

3268閲覧

apacheとtomcatの連携方法(CentOS7)

kohey419

総合スコア11

CentOS

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

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Tomcat

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

Apache Tomcat

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

0グッド

0クリップ

投稿2021/03/09 21:46

編集2021/03/09 21:50

やりたいこと

apacheとtomcatの連携。apacheびアクセスすればtomcatのwebappsにデプロイしたwarファイルを動作させたい
また、https://ドメイン名のみのアクセスで表示させるようにしたい。

環境

  • apache ver.2.6.4
  • tomcat ver.9.0.43
  • CentOs7 (サクラのVPS)

確認したこと

Java

1org.apache.catalina.startup.HostConfig.deployWAR Error deploying web application archive [/opt/tomcat/webapps/*******.war] 2 java.lang.IllegalStateException: Error starting child

イメージ説明

設定内容

下記コードをhttod.conf内の一番下に書き足しました。コメントアウトをなくす等記載のあるものもありましたがそもそも記載がなく自分で書きました。

server.conf

1ProxyPass /warファイル名/ ajp://localhost:8009/warファイル名/ 2ProxyPassReverse /warファイル名/ ajp://localhost:8009/warファイル名/

server.xmlの設定
secretRequored="false"は最初記載なかったのですが自分で書きました。address="::1"はいろいろなサイトを見た結果削除しました。

<!-- <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> --> <!-- <Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> --> <!-- Define an AJP 1.3 Connector on port 8009 --> <Connector protocol="AJP/1.3" secretRequired="false" port="8009" redirectPort="8443" />

/etc/systemd/system/tomcat.serviceというファイルを作成しました(下記)

[Unit] Description=Apache Tomcat9 After=network.target [Service] User=tomcat Group=tomcat Type=forking Enviroment="JAVA_HOME=/usr/lib/jvm/jre" Enviroment="JAVA_OPTS=Djava.security.egd=file:///dev/urandom" Enviroment="CATALINA_BASE=/opt/tomcat" Enviroment="CATALINA_HOME=/opt/tomcat" Enviroment="CATALINA_PID=/tomcat/temp/tomcat.pid" Enviroment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseRarallelGC" ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh ExecRestart=no [Install] WantedBy=multi-user.target

/etc/httpd/conf.d/適当な名前.confを下記内容で作成しました。

<Location /> ProxyPass ajp://127.0.0.1:8009/warファイル名/ </Location>

設定変更後はsudo systemctl reload tomcat ・sudo systemctl reload httpdで再起動させています。

参考にしたサイト

https://engineering.mobalab.net/2020/04/03/tomcat-9-and-apache-on-centos-7/
https://qiita.com/t_skri/items/6ba4406f8f3374f98bfa
https://teratail.com/questions/79438
http://labo-blog.aegif.jp/2020/05/tomcat9webapacheajp.html

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

私の過去の投稿を参照ください。

投稿2021/03/10 13:02

kohey419

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問