ホームページ php教程 php手册 Apache サーバー構成ガイド (2)

Apache サーバー構成ガイド (2)

Jun 21, 2016 am 09:08 AM
apache mod

apache|サーバー|戦略

著者: Wang Bo

MinSpareServers 5MaxSpareServers 10

子プロセスを使用して HTTP リクエストを処理する Web サーバーでは、顧客のリクエストを処理するために最初に子プロセスを生成する必要があるため、応答時間はわずかに遅れます。ただし、Apache サーバーは、この問題を解決するために、システム内に常駐する複数のアイドル サブプロセスを事前に生成する特別なテクノロジーを使用しており、リクエストが発生すると、これらのアイドル サブプロセスがすぐに処理に使用されます。子プロセスの生成による遅延がないこと。動作中にクライアント要求の数が増加すると、開始される子プロセスの数も増加します。ただし、これらのサーバー コピーは HTTP 要求の処理後すぐに終了せず、次の要求を待機するコンピューター内に残ります。ただし、予備のサブプロセスのコピーの数は、減らさずに増やすことはできません。処理タスクを持たない予備のサブプロセスが多すぎると、サーバーの処理能力を占有してしまうため、適切な値を維持するには、予備のサブプロセスの数も制限する必要があります。顧客のリクエストにタイムリーに対応できるようにすることで、無駄なプロセスを削減することもできます。

したがって、パラメータ MinSpareServers を使用してアイドル状態の子プロセスの最小数を設定し、

パラメータ MaxSpareServers を使用してアイドル状態の子プロセスの最大数を制限すると、冗長なサーバー プロセスのコピーが終了します。サーバーのパフォーマンスが高く、頻繁にアクセスされる場合は、これら 2 つのパラメーターの設定を増やす必要があります。高負荷の専門的な Web サイトの場合、これら 2 つの値

はほぼ同じで、システムがサポートするサーバー レプリカの最大数と同等である必要があり、不必要なレプリカ

の終了も削減されます。


StartServers 5

StartServers パラメーターは、httpd の開始時に開始されるサブプロセスのコピーの数を設定するために使用されます。このパラメーターは、上記で定義された MinSpareServers パラメーターと MaxSpareServers パラメーターに関連しており、どちらもアイドル状態のサブプロセスを開始するために使用されます。サーバーの応答速度を向上させます。このパラメータは、最初の 2 つの値の間の値に設定する必要があります。MinSpareServers より小さくても、MaxS pareServers より大きくても意味がありません。


MaxClients 150

一方で、サーバーの容量には結局のところ限界があり、同時に無限数の接続リクエストを処理することは不可能であるため、パラメータMaxclientsを使用して最大数を指定します。サーバーがサポートする同時アクセス クライアントの数に応じて、この値の設定が大きすぎると、システムがビジー状態のときに多数の顧客にサービスを提供するために、非常に多くのプロセスを切り替える必要が生じ、各顧客への応答が遅くなり、全体的なパフォーマンスが低下します。効率。 。この値を小さい値に設定すると、システムがビジー状態のときに一部のクライアント接続要求が拒否されます。サーバーのパフォーマンスが高い場合は、この値の設定を適切に増やすことができます。プロフェッショナルな Web サイトでは、サーバーの効率を向上させる戦略を使用する必要があるため、このパラメータがハードウェア自体の制限を超えることはできません。アクセス拒否が頻繁に発生する場合は、サーバー ハードウェアをアップグレードする必要があることを意味します。顧客のブラウザの応答速度をあまり気にしない、または接続を拒否するより応答速度が遅いほうが良いと考えている非プロフェッショナルな Web サイトの場合は、ハードウェア条件をわずかに超えてこのパラメータを設定できます。

このパラメータは MinSpareServers と MaxSpareServers の設定を制限しており、このパラメータの設定より大きく

すべきではありません。


MaxRequestsPerChild 30

サブプロセスを使用してサービスを提供する Web サービス 一般的な方法は、サブプロセスが接続を提供することです。これによって生じる問題は、各接続でサブプロセスの生成と終了というシステム操作が必要になることです。 -プロセス、作成 この追加の処理は、コンピューターの処理能力の多くを消費します。したがって、子プロセスが複数の接続リクエストを処理できるようにするのが最善の方法であり、Apache は接続の完了後に子プロセスを終了せずにこの方法を採用します。ただし、次のサービス要求を待機するシステム内に留まるため、パフォーマンスが大幅に向上します。

ただし、子プロセスは処理中にメモリの申請と解放を継続的に行う必要があるため、回数が多すぎると

メモリのゴミが発生し、システムの安定性やシステムリソースの有効利用に影響を及ぼします。したがって、コピーが一定数のリクエストを処理した後、サブプロセスのコピーを終了し、元の

httpd プロセスからクリーンなコピーを再コピーすることができ、これによりシステムの安定性が向上します。このように、各

子プロセスによって処理されるサービス リクエストの数は、MaxRe QuestPerChild によって定義されます。 デフォルトの設定値は 30 です。

この値は、安定性の高い Linux システムにとっては控えめすぎます。0 に設定すると、各コピーの無制限のサービス処理がサポートされます。


#3000を聴く

HTTPリクエスト。 FreeBSD システムは同時に複数の IP アドレスを持つことができるため、サーバーが特定の BindAddress の IP アドレスに対する HTTP リクエストのみをリッスンするように指定することもできます。これが構成されていない場合、サーバーはすべての IP のリクエストに応答します。

サーバーが 1 つの IP アドレスのリクエストにのみ応答するように BindAddress パラメーターが使用されている場合でも、拡張 Listen パラメーターを使用して HTTP デーモンが他の IP アドレスのリクエストに応答するようにすることができます。このときの Listen パラメータの使用方法は、上記の 2 番目の例と同じです。このより複雑な使用法は、主に仮想ホストをセットアップするために使用されます。その後、VirtualHost パラメータを使用して、異なる IP を持つ仮想ホストを定義できます。ただし、この使用法は、以前の HTTP 1.0 標準で仮想ホストを設定する方法であり、実際にはあまり役に立ちません。 HTTP 1.1 では、単一の IP アドレスと複数のドメイン名を持つ仮想ホストのサポートが追加され、仮想ホストの設定がより意味のあるものになりました。


LoadModule mime_magic_module libexec/apache/mod_mime_magic.so

LoadModule info_module libexec/apache/mod_info.so

LoadModule speling_module libexec/apache/mod_speling.so

LoadModule proxy_モジュール libexec/apache/libproxy.so

LoadModule rewrite_module libexec /apache/mod_rewrite.so

LoadModule anon_auth_module libexec/apache/mod_auth_anon.so

LoadModule db_auth_module libexec/apache/mod_auth_db.so

LoadModule Digest_module libexec/apache/mod_digest.so

ロードモジュール cern_meta_module libexec/apache/mod_cern_meta。

LoadModuleexpires_module libexec/apache/mod_expires.so

LoadModule headers_module libexec/apache/mod_headers.so

LoadModule usertrack_module libexec/apache/mod_usertrack.so

LoadModule unique_id_module libexec/ap ache /mod_unique_id.so


ClearModuleList

AddModule mod_env.c

AddModule mod_log_config.c

AddModule mod_mime_magic.c

AddModule mod_mime.c

AddModule mod_negotiation.c

AddModule mod_status.c

AddModule mod_info.c

AddModule mod_include.c

AddModule mod_autoindex .c

AddModule mod_dir.c

AddModule mod_cgi.c

AddModule mod_asis.c

AddModule mod_imap.c

AddModule mod_actions.c

AddModule mod_speling.

AddModule mod_userdir.c

AddModule mod_proxy. c

AddModule mod_alias.c

AddModule mod_rewrite.c

AddModule mod_access.c

AddModule mod_auth.c

AddModule mod_auth_anon.c

AddModule mod_auth_db .c

モジュールの追加 mod_digest.c

モジュールの追加 mod_cern_meta.c

AddModule mod_expires.c

AddModule mod_headers.c

AddModule mod_usertrack.c

AddModule mod_so.c

AddModule mod_setenvif.c


Apache サーバーの重要な特徴は、モジュール構造です。これは、コンパイル中に新しいモジュールを通じて新しい機能を追加できることを意味するだけでなく、不要なモジュールをロードすることなく、そのモジュールを http サービス プログラムに動的にロードできることも意味します。 Apache の動的にロードされるモジュールを使用するには、Load Module パラメータと AddModule パラメータを設定するだけで済みます。ただし、DSO 機能を使いこなすのはまだ簡単ではありません。ここで設定を変更すると、サーバーが正常に起動できなくなる可能性があります。したがって、サーバーが提供する機能を増減したくない場合は、ここでの設定を変更しないでください。


上記のリストは、Linux のデフォルトの Apache サーバーでサポートされているモジュールを示しています。実際には、多くの

複数のモジュールは必要なく、不要なモジュールはメモリにロードされません。モジュールは、pache サーバーに静的に接続することも、動的にロードすることもできます。これは、Apache のデフォルトのアプローチではなく、すべての Apache 機能を動的にロード可能なモジュールにコンパイルするためのアプローチであり、パフォーマンスをほとんど犠牲にしません。


したがって、動的にロードする機能は依然としてパフォーマンスにわずかな影響を与えるため、Apache を再コンパイルして、必要な関数を Apache サーバーにコンパイルすることで、システムがクリーンになり、効率がわずかに向上します。通常、この目的のためだけに Apache を再コンパイルする必要はありません。他の機能を追加するために Apache を再コンパイルする必要がある場合は、他のモジュールを追加して、すべてのモジュールを Apache サーバーに静的に接続することをお勧めします。一部のユーザーは動的にロードされるモジュールを好むため、すべてのユーザーに動的にロードされるモジュールを使用することもできます。


これらのモジュールは、/usr/local/apache/libexec/ ディレクトリに配置されており、各モジュールは Apache サーバーの機能に対応しています。各モジュールの機能の詳細な説明にはかなりのスペースが必要です。各モジュールの具体的な機能と使用法については、後で該当する場所で説明します。


#ExtendedStatus On

Apache サーバーは、特別な HTTP リクエストを通じて独自の実行ステータスを報告できます。この

ExtendedStatus パラメータをオンにすると、サーバーはより包括的な実行ステータス情報を報告できるようになります。



このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

サイバーパンク 2077 では、新しく最適化されたパス トレーシング MOD によりパフォーマンスが最大 40% 向上します サイバーパンク 2077 では、新しく最適化されたパス トレーシング MOD によりパフォーマンスが最大 40% 向上します Aug 10, 2024 pm 09:45 PM

サイバーパンク 2077 の際立った機能の 1 つはパス トレースですが、パフォーマンスに大きな負担をかける可能性があります。 RTX 4080 (Gigabyte AERO OC 現行価格。Amazon で 949.99 ドル) のような、そこそこ性能のあるグラフィックス カードを搭載したシステムでも、安定したパフォーマンスを提供するのは困難です。

Rabbit R1 はゲームを実行するために改造され、予想よりも優れたパフォーマンスを発揮します Rabbit R1 はゲームを実行するために改造され、予想よりも優れたパフォーマンスを発揮します Jun 29, 2024 am 07:50 AM

今月初め、HowToMen という名前の YouTuber が、Android を実行する Rabbit R1 を紹介しました。この MOD を使用すると、本来は電話よりも気が散りにくいデバイスが、電話のように機能するようになりました。しかし、ウサギはそうではなかったので、それは悪いことではありません

DIY Asus ROG Ally mod は何も露出せずにバッテリー容量をほぼ 2 倍にします DIY Asus ROG Ally mod は何も露出せずにバッテリー容量をほぼ 2 倍にします Aug 20, 2024 am 06:57 AM

Asus ROG Ally は 40 Wh のバッテリーを搭載しており、通常、稼働時間は約 2 時間です。ただし、Ally X では、Asus はバッテリーを 80 Wh にアップグレードし、TDP に応じてバッテリー寿命を約 4 時間に延ばしました。 iFixit が考え出したのは、

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

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

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

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

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

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

回避モジュールは、アプリケーション層の 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 サイトのバックアップ、エラー ログの監視、コンテンツの更新が含まれます。

See all articles