LinuxベースのApacheウェブサイトサービス構成の詳細な説明

LinuxベースのApacheウェブサイトサービス構成の詳細な説明

オープンソース ソフトウェアである Apache は、最も広く使用されている Web アプリケーションの 1 つです。Apache には、1.X と 2.X という 2 つの主要なバージョンがあります。通常、バージョン 1.X に比べて多くの新機能をサポートするバージョン 2.X を使用します。Apache ソース コード パッケージをダウンロードするアドレスは、https://httpd.apache.org です。ソース コード パッケージをダウンロードしたら、インストールの準備を開始します。

1. ポートの競合、プログラムの競合、その他の問題を回避するために、rpm モードで httpd サービスがインストールされている場合は、アンインストールすることをお勧めします。

2. システムイメージをマウントし、システムディスクの Packages ディレクトリに切り替えて、関連する依存パッケージをインストールします (インストールパッケージがすでにインストールされている場合、次のインストールパッケージを一度にインストールするとエラーが発生するため、1 つずつインストールすることをお勧めします)。

3. httpd ソース コード パッケージを解凍し、リリース ディレクトリを指定して、展開されたソース コード ディレクトリに切り替えます。

4. 構成:

上記の設定コマンドにおいて、各オプションの意味は次のとおりです。

--prefix: httpd サービスがインストールされるディレクトリを指定します。

--enable-so: 動的モジュール読み込みサポートを有効にして、httpd の機能をさらに拡張できるようにします。

--enable-rewrite: ウェブサイトの最適化とディレクトリ移行のメンテナンスのために、Web アドレスの書き換え機能を有効にします。

--enable-charset-lite: さまざまな文字セットでエンコードされた Web ページをサポートするために、文字セット サポートを有効にします。

--enable-cgi: CGI スクリプトのサポートを有効にして、Web サイトのアプリケーション アクセス機能を拡張します。

5. make && make install コマンドを実行してコンパイルおよびインストールします。

上記の設定、コンパイル、インストールのプロセス中にエラーが発生し、コマンド エラーが除外される場合、通常は依存パッケージが不足していることが原因です。依存パッケージが不足していないかどうかを確認してください。

6. インストールが完了したら、インストールが成功したディレクトリに切り替えると、次のディレクトリが表示されます。

各主要サブディレクトリの目的は次のとおりです。

  • bin: httpd サービスのさまざまな実行可能プログラム ファイルを格納します。メインプログラム httpd、サービス制御ツール apachectl などが含まれます。
  • cgi-bin: さまざまな CGI プログラム ファイルを格納します。
  • logs: httpd サービスのログ ファイルを保存します。
  • conf: メイン設定ファイル httpd.conf や拡張設定サブディレクトリ extra など、httpd サービスのさまざまな設定ファイルを保存します。
  • htdocs: デフォルトのホームページ ファイル index.html などの Web ドキュメントを保存します。
  • module: httpd サービスのさまざまなモジュール ファイルを格納します。

7. 実行パスを最適化します(実際の状況に応じて、最適化はオプションです)。

ソースコードを通じてインストールされた httpd サービスはサードパーティのサービスであるため、プログラム パスはデフォルトの検索パスにありません。今すぐ Apache を起動する場合は、/usr/local/httpd/bin/apachectl start コマンドを実行する必要があります。これは、インストールが完了した後の bin ディレクトリ内のプログラム制御ファイルの絶対パスと、必要な操作を加えたものです。

次に、このサービスをより便利に使用できるように、実行パスを最適化します。プロセスは次のとおりです。

関連プログラムのシンボリックリンクを追加します。

この方法では、関連コマンドを実行するときに長いパスを入力する必要がありません。サービスを開始する場合は、/usr/local/bin/apachectl start を実行するだけです。ただし、これはシステム サービスを制御するほど便利ではありません。その後、httpd システム サービスの追加を続行できます。方法は 2 つあります。

方法1

apachectl ファイルを /etc/init.d/httpd にコピーし、ファイルを編集します。

次の変更を加えて保存し、終了します。

システム サービスを追加します。

この時点で、systemctl start/status/restart httpd を使用して、システム サービスを制御するのと同じように Apache サービスを制御できます。

システムサービスとして追加する方法もありますが、設定ファイルの編集も必要になり、面倒です。サービスをさらに定義できる可能性があります。個人的には、理解できれば十分だと思います。特別な要件がない場合は、上記の方法を使用できます。

方法2:

httpd.service 設定ファイルを作成します (設定ファイルのパスに注意してください。設定ファイルに記述されている apachectl パスは実際の状況に応じて決定する必要があります)

設定ファイル内の各設定項目の機能は次のとおりです。

どちらの方法にも利点があります。方法 2 ではサービスを詳細に定義でき、 systemctl enable httpd.serviceを使用して起動時に httpd サービスが自動的に開始されるように設定することもできますが、これは方法 1 では不可能です。

サービスの制御が最適化されると、httpd サービスの基本設定を実行できます。

1. httpdサービスのメイン設定ファイルhttpd.confを編集する

最終行モードで /ServerName を実行し、近くに ServiceName www.aaa.com という行を追加します。これは、Web サイトに対応するドメイン名を設定するために使用されます。次のように:

ServerName を見つけるには、最後の行モードを入力します。

httpd.conf ファイルの設定内容を変更した後、apachectl -t または httpd -t コマンドを使用して設定内容の構文チェックを実行できます。エラーがない場合は、次のように表示されます。

2. Webドキュメントを展開する:

新しくコンパイルされインストールされた httpd サービスの場合、Web サイトのルート ディレクトリは/usr/local/httpd/htdocsにあります。Web サイトの Web ドキュメントをこのディレクトリにコピーまたはアップロードする必要があります。

3. ウェブサイトのアクセス状況を確認する

httpd サーバーは、アクセス ログとエラー ログの 2 種類のログを使用します。これら 2 つのログのファイル名は acces_log と error_log で、どちらも /usr/local/httpd/logs ディレクトリにあります。 tail -f /usr/local/httpd/logs/access_log コマンドを使用すると、Web サイトのアクセス ステータスを動的に表示できます。

4. 最も重要なhttpd.confメイン設定ファイル

httpd.conf 内のコメント行は「#」で始まり、残りは設定行です。設定範囲に応じて、設定ラインはグローバル設定とリージョン設定に分けられます。各グローバル構成は独立した構成であり、他のタスク領域に含める必要はありません。よく使用されるグローバル構成項目は次のとおりです。

グローバル構成項目を除き、httpd.conf ファイル内の構成のほとんどはゾーンに含まれています。地域構成では、次のように、組み合わせたタグのペアを使用して構成項目の範囲を制限します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Linux インストール Apache サーバー構成プロセス
  • Linux で Apache を使用してファイル サーバーを構築する手順
  • Linux オペレーティング システムに Apache サービスをインストールする方法
  • Linux での Apache サーバーの構成と管理の簡単な分析
  • Linux での Apache サービスの展開と構成

<<:  node.js でマルチコア CPU を最大限に活用する方法

>>:  node.js が大規模プロジェクトに適さない理由

推薦する

CSS transform-originプロパティを理解する

序文最近、花火アニメーションを作成しました。花火が散るアニメーションです。アニメーションの実装中、花...

CSS における XHTML タグの対応する属性と使用法

XHTML CSS を使って Web ページをデザインし始めた頃は、タグの使用経験も少なく、あまり気...

HTML CSS JS はタブページのサンプルコードを実装します

コードをコピーコードは次のとおりです。 <html xmlns="">...

TypeScriptのインデックスシグネチャの理解に関する簡単な説明

目次1. インデックス署名とは何ですか? 2. インデックス署名構文3. インデックス署名に関する注...

MySQL 8の新機能におけるグローバルパラメータの永続性の詳細な説明

目次序文グローバルパラメータの永続性最後に要約する参考資料:序文2018 年に MySQL 8.0....

Vue の echarts ツールチップにクリック イベントを追加する詳細な説明

目次必要回避策1. ツールチップを設定する2. hookToolTip変数を定義する3. メソッド内...

MySQL 8.0.17 インストール グラフィック チュートリアル

この記事では、参考までにMySQL 8.0.17のインストールグラフィックチュートリアルを紹介します...

携帯電話番号の歩数記録を取得するWeChatアプレット

序文最近、小さなプログラムを開発しているときに、このような問題に遭遇しました。ユーザーが認証をクリッ...

CSS はモバイル デバイスで水平スクロール ナビゲーション バーを実装します (PC デバイスにも適用可能)

関数の起源最近、水平スクロール バーを必要とする H5 に取り組んでいました。いくつかのドキュメント...

MySQL 同時実行制御の原則に関する知識ポイント

Mysql は、高性能なデータ ストレージ サービスを提供する主流のオープン ソース リレーショナル...

bash のスクリプトデバッグメカニズムの詳細な説明

スクリプトをデバッグモードで実行するbash -x <script> を使用すると、スク...

MySQL 結合テーブルと ID 自動増分の例の分析

結合の書き方左結合を使用する場合、左側のテーブルが必ず駆動テーブルになりますか? 2 つのテーブルの...

Vue のミックスインの使用方法の詳細な説明

目次序文1. Mixin とは何ですか? 2. Mixin はいつ使用すればよいですか? 3. Mi...

HTML要素を非表示にするいくつかの方法

1. CSSを使用するコードをコピーコードは次のとおりです。スタイル="display:n...

Linux の cut コマンドの説明

Linux や Unix の cut コマンドは、ファイルの各行から一部を切り取って標準出力に出力す...