2012-12-29 4 views
6

私はいくつかのHTMLページを追加する必要があるプロジェクトが割り当てられています。この組み込みシステム(Linux CentOS 6.3を走らせている)には余分なジュースが用意されていますが、すでに多くの責任があります。なぜApacheやNginxなどを使用しているのですか?

私はApacheと思っていましたが、肥大化してしまったので、Nginxを調べましたが、今もそれを嫌っています。ただ、私はより多くの「機能性」を得ているようであり、その結果、必要以上のCPU使用量があるようです。

なぜ私は非同期ソケットを使用してHTTPプロトコルを実装するだけではないのかを誰かに教えてもらえますか?

私の具体的なニーズは、以下のとおりです。

  1. は受信とデコードを取得と投稿。

  2. 要求通りにCSS、JS、JPGファイルを送信します。

  3. GET/POSTのデコードに基づいて出力ヘッダ、クッキー、ヘッドおよびボディデータを出力します。

私はこれらのウェブサーバーが提供する無数のものは必要ではないと考えて、私は自分自身でこのようにすることを前提にしていますか?あなたは何を示唆したり、警告したりしますか?

+0

から始まりました。既存のWebサーバーと同様にセキュリティリスクが軽減されていないことに注意してください。 –

+4

特にセキュリティの暴露がある場合は、それを正しくするという課題。しかし、見ることができる埋め込まれたウェブサーバーは小さくなっています。 –

+0

GETとPOSTの小さなサブセットを実装するだけであれば、最初からやり直すのはかなり簡単です。 –

答えて

10

基本的には、既にテストされたフォームに必要な機能が得られ、最初のコードよりも信頼性が高く、他の多数のコミュニティによってサポートされているためです。 Apacheとnginxがあまりにも重すぎる場合(nginxは負荷が軽い方が特徴的ですが)、特に期待する負荷が非常に軽い場合は、他のオプションも見てください。

ウィキはcomparisons of lightweight web servers.

+0

私はこれに答えてから5年後に、Node.jsを使って別のオプションが登場しました。 –

1

に分類するための簡単なトラップの全ページがあります:「私は製品Xのすべての機能を必要としない考えを、私はちょうど私が必要とする機能だけで自分を書きます一度に1つの新しく発見された要件を1つだけ完全に再実装することになります。

CentOSを動作させることができる組み込みシステムではリソースが不足しているため、Nginxを快適に実行することができません(Apacheでも適切な設定変更を行うだけでよい)。あなたが実際に提供しているページの数について合理的な前提が与えられています。 256MBのRAMのようなものでPentium 266を実行して、2秒ごとにページを提供して問題のない単純なPHPアプリケーションをいくつか提供しました。私が思い出したように、それはかなりモジュラーなので、必要と思わない機能をロードしないことを選ぶことができます。そして、後で、要件が変わったときに必要なことが分かったら、すぐにプラグインすることができます:)

本当にリソース消費が心配されている場合は、組み込みアプリケーション用に設計されたWebサーバーを調べてください。私はCherokeeがかなりいいと聞いています。 Mongooseも有望です。

関連する問題