本番環境でLighttpdを使用してサービスを提供したいDjangoアプリですが、最近ではNginxの人気が高まっているようです。なぜですか?なぜですか?以前はLighttpdにメモリがあったことを知っていますリークしますが、これは現在修正されていませんか?彼らはこの種のことを修正するアクティブな開発者を持っていますか?
LightyではなくNginxを使用する必要がある理由はありますか?私はnginxが素晴らしいサーバーであることを知っていますが、それは本当に軽量で良いより良いですか?
私は現在のnginxユーザーであり、以前のlighttpdユーザーであり、安定性の問題のみをエコーできます。さらに、nginxは活発な開発を行っており、新しい機能やマイナーなバグ修正を含む数週間ごとにリリースされる新しいバージョンを頻繁に目にします。 nginxの方法を学ぶと、構成ファイルも非常に明確で非常に強力になります。
Nginxはロードバランサーとして使用することもできます(ただし、SSLが不要な場合はhaproxyの方が少し優れています)。
Nginxは、SSLリバースプロキシとして使用することもできます。つまり、複数の仮想ホストでSSLを使用する場合、hugeとなります。これはおそらくnginx Netcraftの数の単一の最大の理由であり、nginxの作者は最近のインタビューでこれが展開の大多数の理由だと彼は思ったと言いました。それが確かに私がそれを使い始めた理由です...そしてそれから私が見ていたパフォーマンスの向上にショックを受けました:)
最近取り組んでいる新しいプロジェクトについて、同じサーバーでlighttpdとnginxを並べて評価しました。私のテストでは、nginxはLighttpdよりもわずかに優れており、結果としてnginxを本番環境に導入しました。 nginxに関するFWIW Netcraftレポートは、外向きWebサーバーでlighttpdよりもはるかに広く使用されています。 http://news.netcraft.com/
500,000ヒット/日以上のウェブサイトで、nginxとlighttpdの両方を非常にうまく使用しています。 Lighttpd(コア)メモリリークは神話であるに違いありません。この間、問題は発生していません。
Nginxは素晴らしいです。シンプルな構成、少ないメモリ、CPUフットプリント。トラフィックが多い場合でも、非常に高速で非常に安定しています。
私たちの場合、nginxはリバースプロキシキャッシング、ロードバランシング、およびURLの書き換えを行っていますが、バックエンドサーバーがスクリプトを実行するときにlighttpd + spawncgi + phpが便利です。
私はまだnginxのfastcgiインターフェースをテストしていないので、これがどれほどうまく機能するかは言えません。 php-fpm +静的ファイルのnginxはlighttpdを置き換えることができます
両方でVSページが見つかりました。ここに小さな断片があります:
"安定
2009年8月の時点で、lighttpdにはまだ3年前に報告された未解決のメモリリークの問題があります。 Lightyの1つの問題は、ふるいのようにメモリがリークすることです。私はそれを少しの間監査し、あきらめました、それは混乱です。私はそれを避けます、あなたがそれにたくさんのトラフィックを投げるならば、それはあなたの日をすぐに台無しにするでしょう。」
ソース: http://www.wikivs.com/wiki/Lighttpd_vs_nginx
正直なところ、私はnginxを使用していないので、経験から話すことはできません。私は主にWebサーバーでApacheを使用しましたが、自宅にlighttpdを使用するものがあります。それは小さなhtmlのみのページを提供し、VPNからのみアクセスできるので、誰かがリモートにいるときは情報ポータルのようになります。
次に頭を下げて、新しいサーバーサイドアプリと更新されたサーバーサイドアプリの実験を開始するとき、おそらくnginxで遊んでみます。結局のところ、それはあなた自身の選択ですが、それが実稼働環境用になるかどうかに応じて、どちらかをコミットする前に両方を調査します。
私はlighttpdについてはあまり詳しくありませんが、下記のリンクを読んで、ngtpがマスタープロセスと複数のワーカープロセスを使用するのに対し、lighttpdは単一スレッドの単一プロセスとして実行されることを学びました。
http://www.wikivs.com/wiki/Lighttpd_vs_nginx
Lighttpdは 単一スレッドと非ブロックI/Oを持つ単一プロセス として実行されます。
nginxは1つのマスタープロセスとして機能しますが、その作業をワーカープロセスに委任します。
そのため、これによりnginxはマルチコアシステムを利用するのにより適したものになり、現在ではほとんどすべてのデバイスにマルチコアが付属しています。