やりたいこと
apacheとtomcatの連携。apacheびアクセスすればtomcatのwebappsにデプロイしたwarファイルを動作させたい
また、https://ドメイン名のみのアクセスで表示させるようにしたい。
環境
- apache ver.2.6.4
- tomcat ver.9.0.43
- CentOs7 (サクラのVPS)
確認したこと
- http://ドメイン名 でwww内に配置したテスト用htmlファイルは表示を確認(SSL化済みなのでhttps://も同様)
- tomcatへ8080ポートへ直接アクセスしたらtomcatの猫の画面が表示されたので接続完了かと思われる。(現在は8080はふさいでいます。)
- firewallを無効にした場合8080へアクセスするとデプロイしたtopページへアクセス可能。よくわからないエラーが発生しますが。
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
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。