ホームページ php教程 PHP开发 apache は mod_cache を使用して画像などをキャッシュします。

apache は mod_cache を使用して画像などをキャッシュします。

Dec 21, 2016 am 11:38 AM

1. はじめに

画像と静的ファイルのキャッシュについては、以前に 2 つの記事を書きました。1 つは、squid を使用したキャッシュです。もちろん、Apache を使用して画像と静的ファイルをキャッシュすることもできます。インストールと設定を完了する方法を詳しく説明します

次に、mod_cache、mod_mem_cache、mod_disk_cacheをインストールします

まず、Apacheをインストールするときにこれらのモジュールがインストールされているかどうかを確認してください。インストールされていない場合は、モジュールをインストールする方法を参照してください。 apache がインストールされているか確認してください

[zhangy@BlackGhost error]$ /usr/local/apache2/bin/httpd -l

mod_cache.c、mod_mem_cache.c、mod_disk_cache.c がない場合は、mod_mem_cache を意味しますmod_disk_cache と mod_disk_cache はインストールされていません。インストールするには、2 つのうちの 1 つを選択できます

3 つのメモリ キャッシュ設定

nano /usr/local/apache2/conf/httpd.conf

LoadModule queue_module modules/mod_cache.so
< ;IfModule mod_cache.c>
LoadModule mem_cache_module modules/mod_mem_cache.so

CacheEnable mem /images
MCacheSize 4096
MCacheRemovalAlgorithm LRU
MCacheMaxObjectCount 100
MCacheMinObjectSize 1
MCacheMaxObjectSize 204 8
CacheMaxExpire 864000
CacheDefaultExpire 86400
CacheDisable /php


説明:

1、CacheEnable mem /images は画像の下のコンテンツをキャッシュします。ここでの mem は単なるキャッシュ タイプであり、mod_cache にメモリ ストレージ マネージャーを使用するよう指示します。 mod_mem_cache を実装することによって。キャッシュ タイプ ディスクは、mod_cache に mod_disk_cache のディスクベースのストレージ管理実装を使用するように指示します。キャッシュ タイプ、fd は mod_cache にファイル記述子キャッシュ実装 mod_mem_cache

2、MCacheSize の最大メモリ使用量、キャッシュに挿入されたオブジェクトとオブジェクト サイズが残りのメモリより大きい場合、新しいオブジェクトがキャッシュできるまで削除されます。 削除されたオブジェクトは、指定されたアルゴリズム MCacheRemovalAlgorithm

3、MCacheRemovalAlgorithm キャッシュ アルゴリズムを使用して選択されます:

LRU (最近使用されていないもの)

LRU は、アクセス時間が最も長くないファイルを削除します。

GDSF (GreadyDual サイズ)

GDSF は、ファイル料金、キャッシュ サイズ、ミスに基づいて優先ファイル キャッシュを割り当てます。優先度が最も低いファイルが最初に削除されます。

4 デフォルトのキャッシュ有効期限

9、CacheDisable /php は php の下のコンテンツをキャッシュしません

メモリにキャッシュされているかどうかを確認します

apache でメモリにキャッシュされたものがあるかどうかを確認しますが、確認するのは簡単ではありません、チェックするための特別なツールはありません。私の方法は次のとおりです。

1、画像を参照 http://localhost/images/http_imgload.cgi.jpeg

2、[zhangy@BlackGhost エラー]をチェック $ top -b - n1

3、画像を参照 http://localhost/images/myself.jpeg

4、[zhangy@BlackGhost エラー]を確認 $ top -b -n1

6018 zhangy 20 0 52612 8172 2484 S 0 0.8 0: 00.03 httpd

6020 ジャンギー 20 0 52604 8168 2488 S 0 0.8 0:00.02 httpd

6021 ジャンギー 20 0 52604 8100 2440 S 0 0.8 0:00.00 httpd

6022 ジャンギー 20 0 52604 81 00 2440 S 0 0.8 0:00.00 httpd

6033張ギー 20 0 6584 1808 1396 S 0 0.2 0:00.02 bash

6076 張ギー 20 0 52612 8136 2464 S 0 0.8 0:00.02 httpd

6077 張ギー 20 0 52612 8124 8 S 0 0.8 0: 00.05 httpd

6078 ジャンジー 20 0 52612 8168 2488 S 0 0.8 0:00.12 httpd

6079 ジャンギー 20 0 52612 8168 2488 S 0 0.8 0:00.03 httpd

6080 ジャンギー 20 0 52612 8168 2488 S 0 0.8 0:00.06 httpd
60 81 ジャンギー 20 0 52612 8116 2448 S 0 0.8 0:00.00 httpd

上記の 4 を介して段階的に操作すると、上記の太字の RES が継続的に増加していることがわかります。このことから、構成が成功していることがわかります。

4、ハードディスクキャッシュ構成

nano /usr/local/apache2/conf/httpd.conf

LoadModule キャッシュ_モジュール モジュール/mod_cache.so

LoadModule ディスク_キャッシュ_モジュール モジュール/mod_disk_cache.so

CacheRoot /home/zhangy/cachetest
#CacheSize 2 56
キャッシュ有効化ディスク/
CacheDirLevels 4
#CacheMaxFileSize 64000
#CacheMinFileSize 1
#CacheGcDaily 23:59
CacheDirLength 3


説明:キャッシュルート /home/zhangy/cachetest ディレクトリキャッシュが保存されます

2, #CacheSize 256 キャッシュ領域のサイズ単位 KB

3, CacheEnable ディスク / キャッシュモードの設定

4, #CacheMaxFileSize 64000 最大キャッシュファイルサイズ

5, #CacheMinFileSize 1 最小キャッシュファイルサイズ

6 , #CacheGcDaily 23:59 キャッシュのクリーンアップ時間

7, CacheDirLength 3 キャッシュフォルダー名のサブ文字の長さ

8, CacheDirLevels 4 キャッシュディレクトリ、サブディレクトリレベル

コメントアウトされた部分は私の Apache バージョンではサポートされていません。公式マニュアルに載ってますよ。具体的な要件については、公式 Web サイトを参照してください

キャッシュを確認します:

1.cacheroot に何かがあるかどうかを確認します

CacheRoot の下に何かあれば、それは OK であることを意味します。

2、htcacheclean を使用して表示します

[root@BlackGhost キャッシュ]# /usr/sbin/htcacheclean -v -p /home/zhangy/cachetest -l 1024M

統計:

サイズ制限 1024.0M

合計サイズは 29.2K 、合計サイズは 29.2K になりました

合計エントリ数は 3、合計エントリ数は 3 になりました

htcacheclean いくつかのパラメータの説明

-d キャッシュをクリアする頻度

-D はキャッシュのクリアをシミュレートしますが、実際には明確ではありません

- v 統計情報の表示

-r 完全クリア

-t 空のディレクトリをクリア

-p キャッシュディレクトリ

-l キャッシュサイズを制限

上記は、Apache が mod_cache を使用して画像などをキャッシュする内容です。その他の関連コンテンツ PHP 中国語 Web サイト (www.php.cn)!

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

58 ポートレート プラットフォームの構築におけるアルゴリズムの適用 58 ポートレート プラットフォームの構築におけるアルゴリズムの適用 May 09, 2024 am 09:01 AM

1. 58 Portraits プラットフォーム構築の背景 まず、58 Portraits プラットフォーム構築の背景についてお話ししたいと思います。 1. 従来のプロファイリング プラットフォームの従来の考え方ではもはや十分ではありません。ユーザー プロファイリング プラットフォームを構築するには、複数のビジネス分野からのデータを統合して、ユーザーの行動や関心を理解するためのデータ マイニングも必要です。最後に、ユーザー プロファイル データを効率的に保存、クエリ、共有し、プロファイル サービスを提供するためのデータ プラットフォーム機能も必要です。自社構築のビジネス プロファイリング プラットフォームとミドルオフィス プロファイリング プラットフォームの主な違いは、自社構築のプロファイリング プラットフォームは単一のビジネス ラインにサービスを提供し、オンデマンドでカスタマイズできることです。ミッドオフィス プラットフォームは複数のビジネス ラインにサービスを提供し、複雑な機能を備えていることです。モデリングを提供し、より一般的な機能を提供します。 2.58 中間プラットフォームのポートレート構築の背景のユーザーのポートレート 58

Java 同時プログラミングで同時実行テストとデバッグを実行するにはどうすればよいですか? Java 同時プログラミングで同時実行テストとデバッグを実行するにはどうすればよいですか? May 09, 2024 am 09:33 AM

同時実行テストとデバッグ Java 同時プログラミングにおける同時実行テストとデバッグは非常に重要であり、次の手法が利用可能です。 同時実行テスト: 単体テスト: 単一の同時タスクを分離してテストします。統合テスト: 複数の同時タスク間の相互作用をテストします。負荷テスト: 高負荷時のアプリケーションのパフォーマンスとスケーラビリティを評価します。同時実行デバッグ: ブレークポイント: スレッドの実行を一時停止し、変数を検査するかコードを実行します。ロギング: スレッドのイベントとステータスを記録します。スタック トレース: 例外のソースを特定します。視覚化ツール: スレッドのアクティビティとリソースの使用状況を監視します。

Eclipseにサーバーを追加する方法 Eclipseにサーバーを追加する方法 May 05, 2024 pm 07:27 PM

Eclipse にサーバーを追加するには、次の手順に従います。 サーバー ランタイム環境の作成 サーバーの構成 サーバー インスタンスの作成 サーバー ランタイム環境の選択 サーバー インスタンスの構成 サーバー デプロイメント プロジェクトの開始

回避モジュールは、アプリケーション層の DOS 攻撃から Web サイトを保護します。 回避モジュールは、アプリケーション層の DOS 攻撃から Web サイトを保護します。 Apr 30, 2024 pm 05:34 PM

Web サイトをオフラインにする攻撃方法はさまざまですが、より複雑な方法にはデータベースやプログラミングの技術的知識が必要です。より単純な方法は、「DenialOfService」(DOS) 攻撃と呼ばれます。この攻撃手法の名前は、一般の顧客や Web サイト訪問者からの通常のサービス要求を拒否させるという目的に由来しています。一般に、DOS 攻撃には 2 つの形式があります。OSI モデルの 3 番目と 4 番目の層、つまりネットワーク層の攻撃です。OSI モデルの 7 番目の層、つまり、アプリケーション層の攻撃です。攻撃 - ネットワーク層は、大量のジャンク トラフィックが Web サーバーに流れるときに発生します。スパム トラフィックがネットワークの処理能力を超えると、Web サイトがダウンします。 2 番目のタイプの DOS 攻撃はアプリケーション層で行われ、組み合わせて使用​​されます。

PHP を使用して Web サイトを展開および維持する方法 PHP を使用して Web サイトを展開および維持する方法 May 03, 2024 am 08:54 AM

PHP Web サイトを正常に展開して維持するには、次の手順を実行する必要があります。 Web サーバー (Apache や Nginx など) を選択する PHP をインストールする データベースを作成して PHP に接続する コードをサーバーにアップロードする ドメイン名と DNS を設定する Web サイトのメンテナンスを監視する手順には、PHP および Web サーバーの更新、Web サイトのバックアップ、エラー ログの監視、コンテンツの更新が含まれます。

Kubernetes Operator を活用して PHP クラウド展開を簡素化するにはどうすればよいですか? Kubernetes Operator を活用して PHP クラウド展開を簡素化するにはどうすればよいですか? May 06, 2024 pm 04:51 PM

KubernetesOperator は、次の手順に従って PHP クラウド デプロイメントを簡素化します。 PHPOperator をインストールして、Kubernetes クラスターと対話します。 PHP アプリケーションをデプロイし、イメージとポートを宣言します。ログの取得、記述、表示などのコマンドを使用してアプリケーションを管理します。

PHP セキュリティのベスト プラクティスを実装する方法 PHP セキュリティのベスト プラクティスを実装する方法 May 05, 2024 am 10:51 AM

PHP セキュリティのベスト プラクティスを実装する方法 PHP は、動的でインタラクティブな Web サイトの作成に使用される最も人気のあるバックエンド Web プログラミング言語の 1 つです。ただし、PHP コードはさまざまなセキュリティ脆弱性に対して脆弱になる可能性があります。 Web アプリケーションをこれらの脅威から保護するには、セキュリティのベスト プラクティスを実装することが重要です。入力検証 入力検証は、ユーザー入力を検証し、SQL インジェクションなどの悪意のある入力を防止するための重要な最初のステップです。 PHP は、filter_var() や preg_match() などのさまざまな入力検証関数を提供します。例: $username=filter_var($_POST['username'],FILTER_SANIT

Java データ構造とアルゴリズム: クラウド コンピューティングの実践ガイド Java データ構造とアルゴリズム: クラウド コンピューティングの実践ガイド May 09, 2024 am 08:12 AM

クラウド コンピューティングでは、大量のデータを管理および処理するために、データ構造とアルゴリズムの使用が不可欠です。一般的なデータ構造には、配列、リスト、ハッシュ テーブル、ツリー、グラフなどがあります。一般的に使用されるアルゴリズムには、並べ替えアルゴリズム、検索アルゴリズム、グラフ アルゴリズムなどがあります。 Java の機能を活用することで、開発者は Java コレクション、スレッドセーフなデータ構造、および Apache Commons Collection を使用して、これらのデータ構造とアルゴリズムを実装できます。

See all articles