web-dev-qa-db-ja.com

Apacheの代替

現在のスタックはApache + Tomcat + MySQLであり、ProxyPassAJPを使用してApacheからTomcatへのリクエストを起動します。また、同じサイトでPHP for Wordpressを実行するため、作業する必要があります.htaccessファイル。 厄介な問題(このStack Overflowページを参照) に対応して、代替スタックを検討しています。私たちは一般的にApacheがとても好きですが、この問題は目立たないものであることに注意してください。それを修正できない場合、Apacheを使用することはできません。

代替案は次のとおりです。

  • Tomcatのみ
  • Glassfish(Javaアプリサーバー、Tomcatからフォーク)
  • Jetty(Javaサーバー)
  • 樹脂
  • LightTPD(軽量HTTPサーバー)
  • Nginx(軽量HTTPサーバー)

私の見方では、ソリューションは2つのキャンプに分類されます。純粋なJava Glassfishな​​どのキャンプと現在のApache + Tomcatなどの分割キャンプです。純粋な=のアイデアが好きです。 Javaソリューション。可動部分が少ないということは、問題が発生する可能性が少ないことを意味するためです。ただし、いずれもPHPをサポートしていますか。.htaccessファイルなど?

理論的には、他の方法で分割を行うこともできます。つまり、これらの機能を必要とするビットのみでApacheにプロキシする単純なフロントエンドを使用しますが、実際には、リクエストの80%になります。

人々はどのようなオプションを提案しますか?

15
Marcus Downing

あなたの問題はAJPに関連していると強く思います。

私は数週間前にTomcatの主要な開発者の1人と一緒にコースを受講していました(彼はそれを実行していました)。彼のアドバイスは、AJPやmod-JKなどを避け、通常のmod-proxyHTTPに固執することでした。

理由:

  1. これは、これまでで最も成熟した安定したTomcatコネクタです。
  2. どちらのAJP実装も一貫して開発されていません。どちらのプロジェクトも少し停止/開始しました。
  3. この状況では、NBIOはブロッキングIOよりも実際のパフォーマンスを向上させることはありません。

私のアドバイスは、現在の設定で通常のmod-proxyHTTPを使用してみてください。これはあなたにとって最小限の変更であり、最も広く使用されている安定したTomcatデプロイメントアーキテクチャに移行します。

/リッチー

7
Rich

私の現在の好ましいスタックは、Apacheの代わりにnginxを使用することです。必要に応じて、php-fpmはPHPの必要性を満たします。このような設定は、Rails、Magento、SugarCRMなどのアプリのデプロイに適しています。

5
Jauder Ho

GlassfishはGrizzly(NIOベース)を使用するため、Tomcatよりもスケーラブルになります。 Java要件があるため、Tomcat、Jetty、またはGlassfishのバリエーション以外に多くのオプションはありません。PHPは Quercus ですが、Nginxを使用してデプロイする方がよい場合があります。

4
Joshua

PHP Javaでの実装があります。私が知っている(しかし使用していない)ものは これは です。 ハウツー)に関するブログ投稿があります。 GlassFishにインストールします (WordPressを含む)が、Tomcatへのインストールは同じだと思います。htaccessに関しては、そこにあるものを正確に記述していませんが、URLの書き換え用の場合は、 rlRewriteFilter 同じセマンティクスで同じ作業を行う人。

2

チェロキー?彼はどこにいますか ? http://www.cherokee-project.com/

0
Adam Ramadhan