無効なプロキシキャッシュとしてnginxとあなたのウェブサイトを加速


Webパフォーマンスの最適化は、継続的に取り組む必要があります.我々の応答時間を改善する複数の解決策があります.

逆プロキシキャッシュは何ですか?


コンピューティングにおいて、リバースプロキシはクライアントとサーバの間に位置するサーバーの一種である.これらのリソースは、Webサーバ自身が返すようにクライアントに返されます.基本的には、異なる役割で行動することができる仲介者です.
このプロキシに与える可能なアプリケーションは、負荷のバランサとしての内部ネットワークへのファイアウォールとして、この記事のABテストや理由をスタティックキャッシュサーバとして適用するツールです.

イメージ信用:プライバシーカナダ
基本的に、このサーバはキャッシュとして使用され、要求されたリソースがない場合はWebサーバに相談し、ミスが発生し、メモリに格納される.同じリソースへの次の要求はプロキシ自身によって非常に効率的な方法で提供されます.そして、特定のTTLの間、ヒットを生じて、ウェブサーバへの呼び出しを避けます.このようにして、静的なサーバを中心にマウントすることができます.
このシナリオを実現するためのさまざまな技術があります.最もよく知られているツールの一つはワニスですが、Webサーバーから離れたNginxも逆プロキシキャッシュとして動作するように構成することができます.比較とベンチマークのいくつかの記事を読んで、違いは最小限ですので、今日、我々はNGinx Nginxシナリオに集中するつもりです.
しかし、我々は異なった組合せで同じシナリオを表すことができました:ワニスApache、ワニスNginxまたはNGinx Apacheは、カップルの最初で、キャッシュサーバーと第2のウェブサーバです.

https://privacycanada.net なぜnginx?


Varnishのように、NGinXはWebキャッシュとして機能することができますが、すべてのシステム管理者がこの面を知っているわけではありません.NGinXは非常に効率的な方法で静的なコンテンツを直接提供することができますし、フロントに直面してキャッシュとして動作することができますワニスと同じように.Varnishは、その唯一のタスクは、高度なオプションを持つキャッシュとして動作することですが、NGinxは汎用性があり、いくつかの選択肢を提供しています.
真実は、2つのオプションのどちらが衰えるかわからないが、NGNXだけを使用するという決定は、我々のインフラストラクチャで学び、維持するための新しい技術を導入することではなく、NGINXの構成はワニスよりもずっと簡単だと思われる.

インフラの取り付け


インストールする
nginxをサーバにインストールするには、以下のコマンドを実行します.
sudo apt-get install nginx

デフォルトでは、NGinxはあなたのシステムにインストールされます.nginxの設定方法を見てみましょう.
Webサーバの設定
まず第一に、我々のファイルシステムのリソースを読むウェブサーバが代理店が代わりに置かれるので、もはやポート80を聞くべきでないということを考慮に入れなければなりません.
リソースをホストするフォルダを作成します.
mkdir /var/www/assets

この後、私たちのNGINXを設定して、ポート81を聞き、リソースのルートディレクトリとして定義し、12時間のリソースの有効期限を含みます.これは、構成を許す正規表現によって構成することができます.このために以下のファイルを生成します.
server {
listen 81;
server_name {{tu ip o subdominio}};
access_log /var/log/nginx/static-server.log;
location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$ {
expires 12h;
root /var/www/assets;
add_header Cache-Control "public";
}
}

最後に/etc/nginx/site - enable/static serverに移動します.我々が現在ポート81を通して資源に要求をするならば、我々はそれを受けることができなければなりません.

プロキシキャッシュの設定


NGinxをキャッシュとして動作させるには、ProxyRenCachchenパスディレクティブを使用します.このディレクティブは、キャッシュされているすべてのリソースが格納されるマシンのディレクトリを示します.
このディレクトリには、WWWデータグループと700のパーミッションが含まれており、プロキシが正しく書き込むことができます.さらに、このディレクティブは、キャッシュをMaxCoungeサイズでこのキャッシュの最大サイズ、およびフォルダー階層の間接的なレベルを定義するキーシャンクゾーン識別子を示します.
また、キャッシュされたリソースを格納するキーである別のProxyRencacheRenkeyディレクティブにも依存します.基本的にNGNXはこの構造のハッシュを作ります.このように、キャッシュのレベルを選ぶことができます、例えば、それが同じパラメタをURLで使用するなら.
これらの2つのディレクティブがクリアされると、プロキシがポート80上で待機していることを示します.また、私たちが定義したキャッシュエリアを検査して、それ以外の場合にPROXYLANE PATHディレクティブでポート81上で待機しているWebサーバに対してチェックを行うリクエストを返します
さらに、NGNXには、リソースがキャッシュ(ヒット)によって返されたか、またはウェブサーバ(Miss)に相談しなければならないなら、クライアントに言うX -プロキシキャッシュと呼ばれるヘッダーが含まれます.この情報は、すべてが正しく動作していることをデバッグするのに特に興味深い.
今、キャッシュサーバーの完全な設定を残しています.
#/etc/nginx/sites-enabled/caching-server
proxy_cache_path /tmp/nginx levels=1:2 keys_zone=assets_zone:10m inactive=60m;
proxy_cache_key "$scheme$request_method$host$request_uri";
server {
listen 80;
server_name {{tu ip o subdominio}};
access_log /var/log/nginx/caching-server.log;
location /static/ {
proxy_cache assets_zone;
add_header X-Proxy-Cache $upstream_cache_status;
include proxy_params;
proxy_pass http://localhost:81/;
}
}

私は、この記事は興味深いと便利されていると私はあなたがどのようにあなたのウェブサイトとあなたが直面している問題を実装している問題を最適化しているあなたの経験を教えてほしい.
関連リンク:

https://serversforhackers.com/nginx-caching