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 が大規模プロジェクトに適さない理由

推薦する

VMware CentOS 仮想マシンのインストールとネットワーク構成のグラフィックチュートリアル

1. CentOSイメージをダウンロードする1.1 ダウンロードウェブサイトhttp://mirro...

Dockerコンテナ監視の原理とcAdvisorのインストールおよび使用方法

本番環境におけるコンテナの稼働状況を監視することは非常に重要です。監視を通じて、コンテナの稼働状況を...

MySQL での limit の使用方法は何ですか (推奨)

SELECT * FROM テーブル名制限m,n; SELECT * FROM テーブル LIMI...

クリエイティブな会社概要ウェブページデザイン

ユニークな「About」ページ自分を他の人たちと差別化する素晴らしい方法は、本当にユニークな自己紹介...

MySQLデータベースについて学びましょう

目次1. データベースとは何ですか? 2. データベースの分類は? 3. データベースとデータ構造の...

flex-grow、flex-shrink、flex-basis、9グリッドレイアウトを理解する

1. flex-grow、flex-shrink、flex-basis プロパティflex-grow...

Vueのフロントエンドシステムとフロントエンドとバックエンドの分離の詳細な説明

目次概要フロントエンド知識システムフロントエンドの3つの要素プレゼンテーション層 (CSS)動作レイ...

Zabbix で複数の JVM プロセスを監視する方法

1. シナリオの説明:私たちの環境ではマイクロサービスを使用しています。各プログラムには個別のプロセ...

MySQL グリーンバージョン設定コードと 1067 エラーの詳細

MySQL グリーンバージョン設定コードと 1067 エラーMySQL エンコーディングを表示 &#...

ローカルでビルドした Docker イメージを Dockerhub に公開する方法

今日は、ローカルの Docker プロジェクト イメージを dockerhub に公開する方法を紹介...

DOCTYPE宣言の機能と使い方の詳しい説明

1. ブラウザのレンダリングモードとdoctype一部の Web ページは標準に従って作成されていま...

JavaScript の基礎におけるデータ型の詳細な説明

目次1. データ型1.1 なぜデータ型が必要なのか? 1.2 変数のデータ型1.3 データ型の分類2...

Vue プロジェクトをパッケージ化して Apache サーバーにデプロイする手順

開発環境では、vue プロジェクトは、ローカルで Express サーバーを構築することをベースにし...

MySQL統計データテーブルの設計方法

目次リアルタイム更新は必要ですか?マテリアライズド ビュー ツール (Flexviews)カウントテ...

Windows プラットフォーム構成 5.7 バージョン + MySQL データベース サービス

ルートユーザーのパスワードを初期化するプロセスと、よくある2つの問題の解決策が含まれています。 1....