Apache サーバー構成ガイド (1)
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は、サーバーがリクエストを完了したが、クライアントプログラムから次のリクエストを受信していない場合、その間隔がこのパラメータで設定された値を超えた場合にテストします。サーバーが切断されます。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック

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

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

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

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

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

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

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

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