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

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

Jun 21, 2016 am 09:08 AM
apache conf httpd Wheel

apache|サーバー|戦略

著者: Wang Bo

Apache サーバーの設定ファイルは /usr/local/apache/conf/ ディレクトリにあります。従来、動作の設定には httpd.conf、access.conf、srm.conf の 3 つの設定ファイルが使用されます。 Apacheサーバーの。

httpd.conf は最も基本的なサーバー設定を提供し、デーモン httpd がどのように実行されるかを技術的に説明します。srm.conf はサーバーのリソース マッピング ファイルであり、サーバーにさまざまなファイルの MIME タイプとこれらのファイルへのアクセスをサポートする方法を伝えます。 .conf は、サーバーのアクセス権を構成し、さまざまなユーザーやコンピューターのアクセス制限を制御するために使用されます。これら 3 つの構成ファイルは、サーバーの特性のさまざまな側面を制御するため、サーバーを正常に実行するには、これら 3 つのファイルが必要です。設定。

これら 3 つの設定ファイルに加えて、Apache は mime.types ファイルも使用して、さまざまなファイルに対応する MIME タイプを識別します。このマジック ファイルは、Apache サーバーがドキュメントから判断できないように、さまざまな MIME タイプ ファイルにいくつかの特別な識別子を設定します。ファイルの MIME タイプを抽出するとき、ドキュメントの MIME タイプは、ファイル コンテンツ内のこれらの特別なタグによって決定できます。

bash-2.02$ ls -l /usr/local/apache/conf

合計 100

-rw-r--r-- 1 ルート ホイール 348 4 月 16 日 16:01 access.conf

-rw-r --r-- 1 ルート ホイール 348 2月 13 日 13:33 access.conf.default

-rw-r--r-- 1 ルート ホイール 30331 5 月 26 日 08:55 httpd.conf

-rw-r-- r-- 1 ルート ホイール 29953 2 月 13 日 13:33 httpd.conf.default

-rw-r--r-- 1 ルート ホイール 12441 4 月 19 日 15:42 マジック

-rw-r--r-- 1ルートホイール 12441 2月 13 日 13:33 magic.default

-rw-r--r-- 1 ルートホイール 7334 2月 13 13:33 mime.types

-rw-r--r-- 1 ルートホイール 383 5 月13 17:01 srm.conf

-rw-r--r-- 1 root Wheel 357 Feb 13 13:33 srm.conf.default

実際、Apacheの現在のバージョンは、元のhttpd.confとsrmを組み合わせています。 .conf with access.conf 内のすべての設定パラメータは、設定ファイル httpd.conf に配置されます。以前のバージョンとの互換性の理由からのみ (これら 3 つの設定ファイルの使用方法は NCSA-httpd からのものです)、3 つの設定のみが使用されます。書類。提供される access.conf および srm.conf ファイルには特定の設定はありません。

Apache の新しいバージョンでは、すべての設定が httpd.conf に配置されるため、このファイルの設定を調整するだけで済みます。以下では、デフォルトの httpd.conf を例として使用して、Apache サーバーのさまざまな設定オプションを説明します。ただし、設定するパラメーターが多すぎるため、基本的にこれらのパラメーターは非常に明確であり、変更せずに Apache サーバーを実行できるため、心配する必要はありません。ただし、Apache サーバーのパフォーマンスを調整し、特定の機能のサポートを追加する必要がある場合は、これらの設定パラメーターの意味を理解する必要があります。

Apache サーバーのパフォーマンスについては、インターネット上で多くの議論があります。基本的に、Apache を使用するユーザーは、Apache の優れたパフォーマンスが多くの有名な高負荷 Web サイトにも対応していることを疑っていませんが、商用機関のレビューでは、 Apache はスコアが低いことがよくあります。これらのレビューでは、商用 Web サーバーとそのオペレーティング システムは専門会社のエンジニアによってパフォーマンスが調整されていることが多いのに対し、Free のオペレーティング システムと Web サーバーはデフォルトの構成を使用するか、わずかな変更しか加えていないことが多いと多くの人が指摘しました。オペレーティング システムのパフォーマンス調整に加えて、Apache サーバー自体のデフォルト構成は決して最も最適化されて効率的ではなく、ほぼすべての種類のオペレーティング システムの設定に適応する必要があることに注意してください。ハードウェアの種類やマルチプラットフォームの設定に応じて、ソフトウェアが特定のプラットフォームや特定のハードウェアに最適なデフォルト構成を提供することは不可能です。したがって、Apache を使用する場合はパフォーマンスのチューニングが不可欠です。

商用評価で無視されているもう 1 つの事実は、評価ではさまざまな種類の機能が比較されることがよくあることです。たとえば、Apache を使用した標準 CGI のパフォーマンスは、ISAPI や NSAPI などのサーバー側 API と比較されます。これと比較してください。 比較する機能は modperl、FastCGI、ASP に似た機能は PHP などです。 ただし、Apache のオープンモードのため、これらの機能は独立した開発グループによって独立したモジュールとして実装されています。ただし、評価中、テスターはパフォーマンスを評価するために対応するモジュールを追加しませんでした。

HTTPデーモンの動作パラメータ

httpd.confでは、まずhttpdデーモンの動作モードや動作環境を決定するために、動作時に必要なパラメータをいくつか定義します。

ServerType スタンドアロン

ServerType はサーバーの起動モードを定義します。デフォルト値はスタンドアロン、httpd です。

サーバーはそれ自体で起動され、接続リクエストを監視するためにホストに常駐します。 Linux では、Web サーバーは起動ファイル /etc/rc.d/rc.local/init.d/apache で自動的に起動されます。この方法が推奨される設定です。

Apache サーバーを起動するもう 1 つの方法は、スーパー サーバー inetd を使用して接続リクエストを監視し、サーバーを起動する inet メソッドです。 inetd 起動モードを使用する必要がある場合は、この設定に変更し、/etc/rc.d/rc.local/init.d/apache ファイルをブロックし、/etc/inetd.conf を変更して inetd を再起動する必要があります。 Apache は inetd から起動できます。

2 つの方法の違いは、独立した方法では、サーバー自体が独自の起動プロセスを管理するため、サーバーの複数のコピーを起動時にすぐに起動できることです。各コピーはメモリ内に存在します。接続要求があると子プロセスが即座に処理され、顧客のブラウザ要求に対する応答が速くなり、パフォーマンスが向上します。 inetd 方式では、inetd は接続要求を検出した後にのみ http サーバーを起動する必要があります。inetd が監視する必要があるポートが多すぎるため、応答が遅くなり、効率も低下しますが、接続がないときに Web サーバーが占有するリソースが節約されます。リクエスト。したがって、inetd メソッドは、時々アクセスされ、アクセス速度を必要としないサーバーでのみ使用されます。実際、inetd メソッドは http のバーストおよびマルチ接続の特性には適していません。ページに複数の画像が含まれる可能性があり、訪問者数が少ない場合でも、各画像によって接続要求が発生するためです。多くの場合、これは inetd のパフォーマンスによって制限され、inetd によって開始される他のサーバー プログラムに影響を与える可能性もあります。

ServerRoot "/usr/local"

ServerRoot はデーモン httpd の実行ディレクトリを指定するために使用されます。 httpd が起動されると、プロセスのカレント ディレクトリがこのディレクトリに自動的に変更されます。設定ファイルに指定されているパスが相対パスの場合、実際のパスはこのServerRootで定義されたパスの下にあります。

httpd は同時ファイル操作を実行することが多いため、ファイル操作が競合しないようにロックを使用する必要があります。NFS ファイル システムのファイル ロック機能は限られているため、このディレクトリは NFS ファイルではなくローカル ディスク ファイル システムである必要があります。システムを使用する必要があります。

#LockFile /var/run/httpd.lock

LockFile パラメータは、httpd デーモンのロックされたファイルを指定します。通常、Apache サーバーは ServerRoot 以下のパスで自動的に動作します。ただし、ServerRoot が NFS ファイル システムである場合は、このパラメータを使用してローカル ファイル システム内のパスを指定する必要があります。

PidFile /var/run/httpd.pid

PidFile で指定したファイルには httpd デーモンのプロセス番号が記録されます。httpd は自身を自動的にコピーできるため、システム内には複数の httpd プロセスが存在しますが、最初は 1 つのプロセスのみです。他のプロセスの親プロセスであるプロセスを開始しました。このプロセスにシグナルを送信すると、すべての httpd プロセスに影響します。 httpd 親プロセスのプロセス番号は、PidFILE で定義されたファイルに記録されます。

ScoreBoardFile /var/run/httpd.scoreboard

httpd は ScoreBoardFile を使用してプロセスの内部データを維持するため、管理者が 1 台のコンピューター上で複数の Apache サーバーを実行したい場合を除き、通常はこのパラメーターを変更する必要はありません。各 Apache サーバーはすべて独立した設定ファイル htt pd.conf を必要とし、異なる ScoreBoardFile を使用します。

#ResourceConfig conf/srm.conf

#AccessConfig conf/access.conf

これら 2 つのパラメータ ResourceConfig および AccessConfig は、srm.conf および access.conf 設定ファイルを使用する古いバージョンの Apache との互換性を保つために使用されます。互換性を確保する必要がない場合は、対応する設定ファイルを /dev/null として指定できます。これは、他の設定ファイルが存在せず、すべての設定オプションの保存に 1 つのファイル httpd.conf のみが使用されることを示します。

タイムアウト300

タイムアウトは、クライアントプログラムとサーバー間の接続のタイムアウト間隔を定義します。この時間間隔(秒)を超えると、サーバーはクライアントから切断されます。

KeepAlive On

HTTP 1.0では、1つの接続は1つのHTTPリクエストのみを送信でき、KeepAliveパラメータはHTTP 1.1バージョンの1接続複数送信機能をサポートするために使用され、複数のHTTPを送信できるようになります。 1 つの接続を要求します。この機能は新しいブラウザでのみサポートされていますが、このオプションを有効にしてください。

MaxKeepAliveRequests 100

MaxKeepAliveRequests は、1 つの接続で実行できる HTTP リクエストの最大数です。この値を 0 に設定すると、1 つの接続内で無制限の数の転送リクエストがサポートされます。実際、1 回の接続で多すぎるページを要求するクライアント プログラムはなく、通常、接続はこの上限に達する前に完了します。

KeepAliveTimeout 15

KeepAliveTimeoutは、サーバーがリクエストを完了したが、クライアントプログラムから次のリクエストを受信して​​いない場合、その間隔がこのパラメータで設定された値を超えた場合にテストします。サーバーが切断されます。



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

PHP フレームワークのパフォーマンス比較: 速度と効率の究極の対決 PHP フレームワークのパフォーマンス比較: 速度と効率の究極の対決 Apr 30, 2024 pm 12:27 PM

ベンチマークによると、Laravel はページの読み込み速度とデータベース クエリで優れており、CodeIgniter はデータ処理で優れています。 PHP フレームワークを選択するときは、アプリケーションのサイズ、トラフィック パターン、開発チームのスキルを考慮する必要があります。

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 サイトのバックアップ、エラー ログの監視、コンテンツの更新が含まれます。

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

See all articles