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

推薦する

WeChat アプレットのシンプルなログイン ページの実装 (ソース コード付き)

目次1. 上の写真2. ユーザーが存在しない3. コードをアップロードする1. 上の写真 2. ユー...

ユニークインデックスの S ロックと X ロックによる MySQL デッドロック ルーチンの理解

「初心者向けソースコードからの MySQL デッドロック問題の理解」では、MySQL ソースコードを...

mysql57サービスが突然消えた問題をすぐに解決する

1つ、 G:\MySQL\MySQL Server 5.7\bin> mysqld --ini...

JavaScript 関数はランダムな色の検証コードをカプセル化します (完全なコード)

数字、文字、またはランダムな色の数字と文字の混合で構成される n 桁の確認コード。以下に完全なコード...

携帯電話に GreasyFork js スクリプトをインストールするチュートリアル

目次序文1. Iceraven ブラウザ (Firefox) (Android) 2. (アンドロイ...

CentOS に MySQL 8.0 をインストールして設定するための詳細な手順

序文CentOS に MySQL をインストールして設定する手順は次のとおりです。文章yumソースか...

Vue3とVue2の利点のまとめ

目次1. なぜ vue3 が必要なのでしょうか? 2. vue3の利点3. 応答原則の違い4. ライ...

Linux システムで tcpdump を使用してパケットをキャプチャする方法

まずサンプルコードを見てみましょう: 1. 共通パラメータ tcpdump -i eth0 -nn ...

自分のブログを構築しながら学んだこと

<br />ブログを始めて 1 年、私はブログの内外で多くのことを個人的に学びました。ま...

eCharts でパーセンテージ付きの横棒グラフを実装する方法

目次サンプルコードレンダリングコード分​​析要約するサンプルコード var データ = [220, ...

MySQL 5.7.19 winx64 無料インストールバージョン設定チュートリアル

mysql-5.7.19-winx64インストールフリー版の設定方法、参考までに具体的な内容は以下の...

DockerでPrometheusをインストールする詳細なチュートリアル

目次1. Node Exporterをインストールする2. cAdvisorをインストールする3. ...

CSS3は子供のころの紙飛行機を実現する

今日は折り紙飛行機(飛べる飛行機)を作ります基本的にすべてCSSで実装されており、JSはごく一部に過...

MySql データベース クエリの特殊コマンド

まずMySQLのインストールMySQLソフトウェアをダウンロードし、インストールパスを変更しますMy...

CSS は、モバイル端末でクリックされたときに生成された要素の背景色を削除します (推奨)

クリック時に背景色を生成する要素の CSS スタイルに次のコードを追加します。 -webkit-ta...