同じApacheで実行されるJavaアプリケーションとPHPアプリケーションの両方を備えた単一のサーバーを持つという要件があります。これは可能ですか?
この質問は非常にばかげているかもしれませんが、Javaの要件やインストール手順についてはわかりません。
Javaアプリケーションを1つのポートで実行し、PHPアプリケーションを別のポートで実行するようなことを両方とも同じApacheで実行できますか?
はい、できます。基本的に、Apache(+ PHP)サーバーを1つのポートで実行し、Tomcatサーバーを別のポートで実行する必要があります。
2番目のポートを外部に公開し、URL80
にApache / PHP用のポートまたは(たとえば)8080
Javaサーバー用のポートを使用させることができます。これは単純ですが、アップストリームファイアウォールにより、リモートWebブラウザが。以外のポートに接続できない場合があります80
。
ApacheサーバーをJavaサーバーのリバースプロキシとして構成できます。したがって、たとえば、Apacheサーバーはそれhttp://site.com/javaapp/foo.html
がJavaサーバー用であることを認識し、そのURLに対する要求をに中継する場合がありますhttp://localhost:8080/javaapp/foo.html
。
mod_proxyを使用したフォワードプロキシとリバースプロキシの設定については、Apacheドキュメントの全章があります。
単一のApacheサーバーでTomcatとPHPの両方を処理できますか?
はい、apache と tomcat の両方をインストールする必要がありますが、AJP プロトコルを使用して、すべての JSP 要求を tomcat に (ユーザーに対して透過的に) リダイレクトするように apache を構成できます。
詳細はこちら: http://www.datadisk.co.uk/html_docs/java_app/tomcat6/tomcat6_apache_server.htm
はい。
Apache HTTPd は、ModProxy または ModAJP を使用して Apache Tomcat に委任でき、要求されたドメイン、パス、またはファイル拡張子に基づいて委任するように構成できます。PHP の Apache HTTPd 構成は同じままです。
ポート 80 でリッスンしないようにApache Tomcat を構成し、選択した Apache HTTPd プロキシ ソリューションを別のポートで Tomcat と通信するように構成する必要があります。
詳細情報の出発点は次のとおりです。Apache + Tomcat: AJP の代わりに mod_proxy を使用する