Apache(HTTPD)とTomcatを一緒に実行するにはどうすればよいですか?
-
29-09-2019 - |
質問
私は最近、Strutsで実行されるプロジェクトを手に入れましたが、より多くのJSPが先に来ることを期待しています。
質問をグーグルで検索した後、私は同じことをしようとした人々のブログに導かれました。これらのブログは、彼らがどのようにしたかについてのステップバイステップの手順ではありませんでしたが、将来同じことをする必要がある場合に備えて、参照のようなものでした。場合によっては、著者は、前述の両方のサービスを一緒に実行しようとしたことで成功したかどうかを正確に言っていませんでした。
残念ながら、テストサーバーで実行するために多くのPHPプロジェクト(アップロードディレクトリ、クラスパスなど)があるため、「指示」に従うことはできません。ケース私はHTTPDサーバーを台無しにします。そして、正直なために、私は構成ファイルを更新するのと同じ理由でそれらを一緒に実行するための単一のステップを試したことはありません。
これが複雑さを増すかどうかはわかりませんが、移植性のためにXAMPP(TomcatはXAMPPアドオンである)を通じて両方のサービスを実行しています。
JSPに取り組んでいるときはいつでもApacheサービスを止めることができることを知っていますが、これは新しいことを試すための対立です。さらに、両方のサービスがスタートアップで自動的に実行されるだけで非常に便利です。これにより、必要に応じてサービスを手動で切り替える必要がないため、生産性が本当に向上します。
同じボートに乗った人がいることを願っています。
編集:Tomcatバージョンは6.0.20ですhttpdバージョンは2.2.14です
解決
- Tomcatに80以外のポートで聴いてもらいます
- Guideに従ってMod_Proxyをセットアップして、特定の場所のリクエストをTomcatにリダイレクトします。 これです.
本当にテストしている場合は、2番目のステップをスキップして、Tomcatの別のポートを介してサーバーにアクセスするだけです。
編集: :参照してください http://httpd.apache.org/docs/2.2/mod/mod_proxy_ajp.html mod_proxy_ajpのセットアップについて。
他のヒント
あなたは、あなたが使用しているTomcatのバージョンについて言及することを怠ったことを怠ったこと、そしてあなたが質問に答えるためにTomcatのドキュメントを実際に見たかどうかについても言及しませんでした。
ここから始めることをお勧めします: http://tomcat.apache.org/connectors-doc/webserver_hohwto/apache.html mod_jkのセットアップを調べます。
使用したい場合 apache/ httpd
PHPからのリクエストと、異なるポートで実行されている他のサーバーを提供するには、ポート8080のTomcatたとえば、Apache/ HTTPDを使用して行動することができます。 "プロキシー" 別のサーバーが提供するURLをマップします。これは使用されます ProxyPass
ProxyPassReverse
構成。
例:必要に応じて http:// localhost/php PHPと http:// localhost/tomcat Tomcatが提供するには、httpd.config/ apache.config [apache2.configを使用しているApacheのバージョンに応じて、次の変更を行う必要があります。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so
# Uncomment these to proxy FTP or HTTPS
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
<VirtualHost *:80>
# Your domain name
# ServerName Domain_NAME_HERE
ProxyPreserveHost On
ProxyPass /tomcat http://localhost:8080/
ProxyPassReverse /tomcat http://localhost:8080/
# The location of the HTML files, and access control information
DocumentRoot /var/www
<Directory /var/www>
Options -Indexes
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
あなたが走っている場合に備えて httpd
の上 centos
そして、エラーが発生する可能性があります Apache Mod_proxy '[Error] (13)Permission Denied'
, 、次に従います これ 次のコマンドを実行するリンク:
/usr/sbin/setsebool -P httpd_can_network_connect 1
読むことをお勧めします mod_proxy.