6

HTML ページ サービスを追加する必要があるプロジェクトが割り当てられました。この組み込みシステム (Linux CentOS 6.3 を実行) には追加の機能がありますが、すでに多くの役割を担っています。

Apacheも検討しましたが、肥大化したので捨てました。Nginxも調べましたが、今はそれも敬遠しています。より多くの「機能」が得られ、その結果、必要以上の CPU 使用率になっているようです。

非同期ソケットを使用して HTTP プロトコルを自分で実装しない理由について、誰かが教えてくれますか?

私の特定のニーズは次のとおりです。

  1. GET と POST を受信して​​デコードします。

  2. 要求に応じて、CSS、JS、および JPG ファイルを送信します。

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

これらの Web サーバーが提供する無数の機能を必要としないのに、自分でそれを行うというこのコースを想定するのは単純すぎますか? 何を提案または警告しますか?

4

3 に答える 3

9

基本的に、Webサーバーを使用するのは、必要な機能をすでにテスト済みの形式で取得し、最初のコードよりも信頼性が高く、他の大規模なコミュニティによってサポートされているためです。Apacheとnginxが重すぎる場合(nginxは重い負荷に対してどれだけ軽量であるかによってかなり特徴づけられますが)、特に予想される負荷が非常に軽い場合は、他のオプションを探してください。

Wikiには、軽量Webサーバーの比較のページ全体があります。

于 2012-12-29T15:43:36.113 に答える
1

陥りやすい落とし穴: 「製品 X のすべての機能は必要ないので、必要な機能だけを独自に作成するだけでよい」と考えて、最終的に製品 X を完全に再実装することになる、1 つの新たに発見された要件一度に。

CentOS を問題なく実行できる組み込みシステムは、リソースが不足しているため、Nginx を快適に実行できない (または、Raspberry Pi で実行する Apache でさえ、適切な構成を微調整するだけで問題なく実行できる) とは思えません。実際に提供しているページ数。Pentium 266 で 256MB 程度の RAM を搭載し、2 秒ごとにおよそ 1 ページを処理する単純な PHP アプリケーションをいくつか実行しましたが、問題はありませんでした。私が思い出したように、これはかなりモジュール化されているため、必要ないと思われる機能をロードしないことを選択できます。そして、後で要件が変更され、それが必要であることがわかった場合は、プラグインするだけです:)

リソースの消費が本当に気になる場合は、組み込みアプリケーション用に設計された Web サーバーを調べてください。チェロキーはかっこいいと聞きました。マングースも有望そうです。

于 2012-12-29T15:50:47.197 に答える
0

さらに進んでください。私はこれから始めましたhttp://www.w3.org/Protocols/HTTP/HTTP2.html

于 2012-12-29T15:58:41.677 に答える