私はGoogleで検索し、StackOverflowとここを検索しました。それでも、誰かがSquidを使用する理由や理由を完全に理解することはできません。
これまでにわかったのは、サーバー(Apacheなど)が実行する必要のある作業を減らすことができるのは、ある種のキャッシュであるということだけです。それで、誰かがSquidが何をするのかを明確にできますか、そしてもっと重要なのは、なぜ私はSquidを使いたいのですか?
私は大規模なソーシャルネットワークサイトを持っているので、画像などを提供するのに役立つかもしれません。現在、画像を提供するためだけに、Apacheとは別にlighttpdを実行しています。
Squidは、Webコンテンツをキャッシュし、要求に応じてすばやく返すWebキャッシュです。 squidを介したリクエストの処理は、単純なファイル(画像など)の場合でも、汎用のWebサーバーよりも高速であることがよくありますが、動的に生成されるページをキャッシュするために非常に役立ちます。したがって、ページを動的に構築できますが、静的なキャッシュされたコピーをリクエスターにすばやく提供できます。キャッシュする期間、キャッシュするページ、およびキャッシュされた結果を無効にする方法については、多くの構成が可能です。
たとえば、ウィキペディアではキャッシュ(squidなど)をコンテンツアクセラレータとして使用しているため、ページがヒットするたびに、多くのPHPを介してデータベースからページが再生成されるわけではありません。ページが変更されると、キャッシュエントリは無効になります。
そのオープンソースで、Windowsでも動作します。
また、Webキャッシュだけではないことも付け加えておきます。 squid.confファイルにはたくさんのオプションがあります。私たちはそれを(無料のブラックリストを使用して)Webフィルターとして実行しており、少数のマシンのポートをブロックするためにも使用しています。
ここでのすべての回答とは別に、Squidを使用してエンドユーザーに提供されるコンテンツをフィルタリングすることもできます。たとえば、未成年者がアダルトサイトを閲覧できないようにすることができます。
Squidは、ダウンロードしたファイルをウイルスに対してスキャンすることもできます。
はい、それは本当に強力です。
MorvenがSquidを Reverse Proxy として使用すると指摘したように、Webサーバーによって動的に構築する必要があるが実際にはめったに変更されないページをキャッシュすることで、ページ配信を高速化できます。
私の知る限り、これはSquidsの主な目的ではなく、 [〜#〜] nginx [〜#〜] は、最速のリバースプロキシソリューションであると思われるため、より良いソリューションになる可能性があります。 。あなたもそれを調べたいかもしれません。
リバースプロキシで画像をキャッシュしてページの生成を遅くすることでWebトラフィックを加速したい場合は、Squidの代わりに Varnish を確認することをお勧めします。リバースプロキシの動作用に設計されており、非常に高速で、設定もかなり簡単です。 Squidは、リバースプロキシではなくフォワードプロキシとして設計されています。大規模なソーシャルネットワークサイトがある場合は、画像や静的コンテンツにもCDNを使用することを検討することをお勧めします。インターネット-> CDN->ワニス-> Apacheクラスターノードの状態をチェックできるため、ワニスをロードバランサーとして使用することもできます。
私はリバースプロキシとしてSquidを使用していませんが、PountとHAProxyを(同時に)使用しました。これは優れたシステムであり、ロードバランシングと高可用性を有効にするために使用し、キャッシュの側面を使用しませんそのうちの。
セットアップの詳細が必要な場合はお知らせください。