Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> nginxのウェブキャッシュサーバと負荷分散と同時に

nginxのウェブキャッシュサーバと負荷分散と同時に

  
 

開始からnginxの0.7.48バージョンは、イカキャッシュは、同様の機能をサポートします。このキャッシュは、ハードディスクに保存されたハッシュでエンコードされたキー、MD5などURLおよび関連ポートフォリオであるので、それは任意のURLへのリンクをサポートすることができ、また404/301/302このような非200ステータスコードをサポートしています。公式nginxのWebキャッシュサービスは、必ず指定のURLまたは状態コードの有効期限を設定することができますが、手動で第三者nginxのモジュールによって、しかし、キャッシュ指定されたページをクリアし、イカに似たPURGEコマンドをサポートしていない、あなたはキャッシュ指定されたURLをクリアすることができます。
は、

Webサービスのnginxのキャッシュは、主proxy_cache fastcgi_cache関連する命令セット、前者のリバースプロキシを命令のセットで構成され、関連している、主に動的FastCGIのために使用されるコンテンツソースを、キャッシュのバックエンドサーバープロシージャキャッシュ。どちらの関数も、基本的に同じ。

nginxの0.8.32の最新バージョンは、proxy_cacheとfastcgi_cacheはより完璧だった、プラスサードパーティのngx_cache_purgeモジュールは、(指定されたURLのキャッシュをクリアする)、完全にイカに置き換えられました。我々は非常に安定し、速度がイカに劣っていない、nginxののキャッシュ機能は、2ヶ月以上をproxy_cache、本番環境で使用していました。

機能的に、nginxのは、すでに指定されたURLのキャッシュ機能をオフにし、イカのWebキャッシングの加速を持っています。イカよりもパフォーマンスには、マルチコアCPUの使用上のNginxは、多くの良いです。また、使いやすさを、プロキシ、ロードバランシング、ヘルスチェック、バックエンドサーバのフェールオーバーを逆書き換えを書き換え、nginxのイカよりもはるかに強いです。これは、&'として同時nginxのを可能にし、SLB'と'のWebキャッシュサーバ'を使用します。

1、nginxのサーバーの負荷分散およびキャッシュLinuxでコンパイルしてインストール:


のulimit -shn 65535 wgetのftp://ftp.csx.cam.ac。英国/パブ/ソフトウェア/プログラミング/PCRE /PCRE-8.00.tar.gzタールzxvf PCRE-8.00.tar.gz CDのPCRE-8.00 /./configureを作る&& CD ../のwgetのhttp make installを://をlabs.frickle.com/files/ngx_cache_purge-1.0.tar.gzタールzxvf ngx_cache_purge-1.0.tar.gz wgetのhttp://nginx.org/download/nginx-0.8.32.tar.gzタールzxvfのnginx-0.8。 32.tar.gzは、CD-nginxの0.8.32 /は./configure --user = WWW --group = WWW --addモジュール= .. /ngx_cache_purge-1.0 --prefix =は/usr /local /ウェブサーバ/nginxの - -with-http_stub_status_module --with-http_ssl_module作る&&以下のように../

2、は/usr /local /ウェブサーバ/nginxの/confに/nginx.conf設定ファイルのCDをインストールします:


ユーザーのWWW WWWは、8 worker_processes; error_logに/usr/local/webserver/nginx/logs/nginx_error.log CRIT; PID /usr/local/webserver/nginx/nginx.pid; #Specifiesこのプロセスでオープンできる最大ファイル記述子の値。worker_rlimi 65535 t_nofile、イベント{用ファイルディスクリプタ; 65535 worker_connections;} HTTP {のmime.typesを含む; default_typeアプリケーション/オクテットストリームを、文字セットがUTF-8; 128 server_names_hash_bucket_size; client_header_buffer_sizeの32Kと、large_client_header_buffers 4 32K; client_max_body_sizeの300メートル;のsendfileに、上TCP_NOPUSH。 proxy_connect_timeout 5; client_body_buffer_sizeの512K;上のTCP_NODELAY; 60 keepalive_timeout proxy_read_timeout 60; proxy_send_timeout 5、16Kをproxy_buffer_size; proxy_buffers 4 64K、128Kをproxy_busy_buffers_size、128Kをproxy_temp_file_write_size、GZIPに、gzip_min_length 1K; gzip_buffers 4 16K; gzip_http_version 1.1; gzip_comp_level 2;テキストをgzip_types /無地のアプリケーション/x軸 javascriptの
テキスト/cssのアプリケーション/xmlの;のgzip_vary;#注:proxy_temp_pathとproxy_cache_path指定されたパスが同じパーティションproxy_temp_path /DATA0 /proxy_temp_dirになければなりません;#セットのWebキャッシュ名cache_one、メモリキャッシュの容量は200メガバイトで、1天はキャッシュをクリーンアップ、ディスクキャッシュ容量は30ギガバイトです。 proxy_cache_path /DATA0 /proxy_cache_dirレベル= 1:2 keys_zone = cache_one:200メートル非アクティブ= 1D MAX_SIZE = 30グラム;上流backend_server {サーバー192.168.8.43:80重量= 1 max_fails = 2 fail_timeout = 30秒、サーバ192.168.8.44:80重量= 1 max_fails = 2 fail_timeout = 30秒、サーバ192.168.8.45:80重量= 1 max_fails = 2 fail_timeout = 1930;}サーバー{80を聴く;サーバ名www.yourdomain.com 192.168.8.42;インデックスのindex.html index.htmを、ルート/DATA0 /htdocsに/WWW;位置/{#502、504であれば、バックエンド・サーバに戻り、実行タイムアウトエラーは、自動的にプール上流のロード・バランシング、フェイルオーバー中に別のサーバに要求を転送します。 proxy_next_upstream http_502 http_504エラータイムアウトinvalid_header; proxy_cache cache_one;#は異なるキャッシュ時間が異なる200 304 12時間のHTTPステータスコードをproxy_cache_valid設定;#ドメイン名、URI、パラメータの組み合わせWebキャッシュキー値、nginxのに鍵ハッシュ値に応じが格納されています二次キャッシュディレクトリproxy_cache_keyの$ホスト$ uriの$ is_args $ argsをにキャッシュの内容; proxy_set_headerホスト$ホスト; proxy_set_headerのX-転送さ-のために$ REMOTE_ADDR; pr​​oxy_passます。http://backend_server; 1Dを満了し、清算のための}#、と仮定すると訪問http://192.168.8.42/purge/test.txtによってhttp://192.168.8.42/test.txtためのURLは、URLのキャッシュをクリアすることができます。場所〜/purge(/.*){#Setがキャッシュをクリアすることができる唯一の指定されたIPまたはURLのIPセグメントを許可します。 127.0.0.1を許可し、すべてを否定する; proxy_cache_purgeのcache_oneの$ホスト$ 1 $ is_args $ argsを;}#拡張子.PHPし、.jspファイル、.cgiの終わり動的なアプリケーションではないキャッシュ192.168.0.0/16を可能にします。 ..場所〜* \\(PHP

Copyright © Windowsの知識 All Rights Reserved