【问题背景】服务端程序可以简单地看做web服务器(用于处理静态资源)和引擎容器两大部分。在java web开发中,常用的容器Tomcat、Jetty(当然,两者都是Web服务器+引擎容器)中的web服务器部分都是基于java语言开发。通常,web服务器用于处理静态资源,遇到动态资源请求时则把请求转发出去给Servlet容器。【问题描述】可以用非java语言开发的web服务器和servlet容器组合来做web开发吗?如果原则上是可以的话,现实企业用这样的“组合方式”多吗?麻烦举例。
认证0级讲师
もちろん、そのような servlet コンテナは存在しません。もちろん、こだわりがあれば、実装することは可能だと思います。 しかし、このようなことを行うのはどの会社でしょうか?時間と労力がかかります。
servlet
現在、ほとんどの Web サーバーは、動的処理プログラムを呼び出すために CGI プロトコルをサポートしていると言えます。 サーブレット自体は CGI をサポートするプログラムではないため、他の Web プログラムがサーブレットを呼び出すには、このプロセスを通過する必要があります。転送の。 Apache や Nginx などの拡張ライブラリは、CGI からサーブレットへの変換をサポートしています。
投稿者は、Nginx + PHP-FPM のような動的と静的な分離を実現したいと考えています。Nginx はすべての静的リソースを処理し、PHP-FPM は PHP リクエストのみを処理します。Java も可能です。構成は次のとおりです。 :
1 つの Tomcat はポート 8080 をリッスンし、もう 1 つの Tomcat はポート 8081 をリッスンし、Nginx はポート 80 をリッスンします。jsp や do などの動的リクエストは Nginx proxy_pass によってアップストリーム クラスターに送信され、2 つの Tomcat アプリケーション サーバーがクラスター内に構成されている Nginx と両方の Tomcat は、同じ Web サイトのルート ディレクトリを指します。
location / {...} を直接使用して、バックエンドの 2 つの Tomcat にすべてのコンテンツをリバース プロキシ proxy_pass して、REST 要件を満たすこともできます。 次に、css/js/jpg/png などの静的ファイルを照合します。それらを Nginx Processing に渡すことで、動的と静的を分離するという目的も達成できます。
IIS は Java を実行しますか?とても暇ですHttpPlatformHandler を使用して IIS で Java アプリケーションをホストしています
もちろん、そのような
servlet
コンテナは存在しません。もちろん、こだわりがあれば、実装することは可能だと思います。しかし、このようなことを行うのはどの会社でしょうか?時間と労力がかかります。
現在、ほとんどの Web サーバーは、動的処理プログラムを呼び出すために CGI プロトコルをサポートしていると言えます。
サーブレット自体は CGI をサポートするプログラムではないため、他の Web プログラムがサーブレットを呼び出すには、このプロセスを通過する必要があります。転送の。
Apache や Nginx などの拡張ライブラリは、CGI からサーブレットへの変換をサポートしています。
投稿者は、Nginx + PHP-FPM のような動的と静的な分離を実現したいと考えています。
リーリーNginx はすべての静的リソースを処理し、PHP-FPM は PHP リクエストのみを処理します。
Java も可能です。構成は次のとおりです。 :
1 つの Tomcat はポート 8080 をリッスンし、もう 1 つの Tomcat はポート 8081 をリッスンし、Nginx はポート 80 をリッスンします。
jsp や do などの動的リクエストは Nginx proxy_pass によってアップストリーム クラスターに送信され、2 つの Tomcat アプリケーション サーバーがクラスター内に構成されている
Nginx と両方の Tomcat は、同じ Web サイトのルート ディレクトリを指します。
location / {...} を直接使用して、バックエンドの 2 つの Tomcat にすべてのコンテンツをリバース プロキシ proxy_pass して、REST 要件を満たすこともできます。
次に、css/js/jpg/png などの静的ファイルを照合します。それらを Nginx Processing に渡すことで、動的と静的を分離するという目的も達成できます。
IIS は Java を実行しますか?とても暇です
HttpPlatformHandler を使用して IIS で Java アプリケーションをホストしています