nginxを使用してドメイン名ベースの仮想ホストを構成する

nginxを使用してドメイン名ベースの仮想ホストを構成する

1. 仮想ホストとは何ですか?

仮想ホストは、特殊なテクノロジーを使用して、実行中のサーバーを論理的に複数のホストに分割します。これを行う主な目的は、1 台の物理サーバー上で複数の Web サイト プログラムを実行できるようにして、サーバーの残りのスペースを活用できるようにすることです。サーバーの役割を十分に発揮します。仮想ホストは完全に独立しています。

このように、nginx を使用して Web サイト プラットフォームを構築する場合、複数の IP ベースまたはドメイン ベースの Web サイトを実行するのに 1 つの nginx ソフトウェアのみを使用する必要があります。

2. ドメイン名ベースの仮想ホスティング

このタイプのドメイン名ベースの仮想ホスティングが最も一般的に使用されています。 IP ベースのものは一般にイントラネットで使用されます。

(1) nginx.confでの設定

nginx.conf に上記と下記のフィールドを追加するだけです。

vhosts/*.conf をインクルードします。

上記のフィールドは http モジュールに追加できます。

次に、nginx の conf ディレクトリに vhosts ディレクトリを作成します。すでに存在する場合は作成しないでください。

(2)仮想ホスト設定ファイルを追加する

vhosts ディレクトリに明確な .conf 構成ファイルを追加します。任意の名前を付けることができますが、後でメンテナンスしやすいように、デプロイされたアプリケーションに関連する名前を付けることをお勧めします。

前述の構成を例に挙げます

サーバー{

    聞く 80;     

# リスニング ポートを設定します。ポート 80 を設定するだけです。仮想ホストをいくつ記述しても、ポート 80 が使用されます。server_name ebook.yunweigonghui.com;

    #これが最も重要なことです。必要なドメイン名を設定します。

    ルート /usr/local/ywgh/nginx/html/wp/;

       #プロジェクトパスを明確に記述します。これも非常に重要です。間違った設定をしないでください。

    access_log /usr/local/ywgh/nginx/logs/wp/access.log メイン;

    #アクセス ログは明確に書き込むことも書き込まないこともできます。実稼働環境では、ログを区別するために明確に構成する必要があります。

場所 ~ \.php$ {

        try_files $uri =404;

        127.0.0.1:9000; をデフォルトとして設定します。

        error_log /usr/local/ywgh/nginx/logs/wp/php-error.log;

        fastcgi.conf をインクルードします。

        fastcgi_index インデックス.php;

    }

       #上記はPHPに関する設定内容です。

}

上記の設定が完了したら、nginx を再起動するか、リロードすることができます。

(3)まとめ

同じ設定ファイルに多数の仮想ホストを書き込むことは可能ですが、これは後のメンテナンスに非常に不便です (特に他者がメンテナンスするプラットフォームに接続する場合、著者はこの点を深く理解しています)。できるだけ多くの構成ファイルを記述して、短くて読みやすいものにするようにしてください。

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

以下もご興味があるかもしれません:
  • Nginx 仮想ホストを構成する 3 つの方法 (ドメイン名に基づく)

<<:  JSメモリ空間の詳細な説明

>>:  MySQL マスタースレーブ同期メカニズムと同期遅延問題追跡プロセス

推薦する

Linux スワップメモリ​​を拡張する方法

スワップ メモリとは、主に物理メモリが不足している場合に、システムがハード ディスク領域の一部をサー...

MySQL における IF()、IFNULL()、NULLIF()、および ISNULL() 関数の使用に関する詳細な説明

MySQL では、IF()、IFNULL()、NULLIF()、および ISNULL() 関数を使用...

Dockerイメージをプライベートリポジトリにアップロードする方法の例

イメージは、GitHub と同様に Docker パブリック リポジトリに直接簡単にプッシュできます...

MySQL ログトリガー実装コード

SQL文 ドロップトリガー もし sys_menu_edit が存在します。 各行のsys_menu...

docker createコマンドの使用方法

docker create コマンドは、イメージに基づいてコンテナを作成できます。このコマンドの効果...

純粋な CSS を使用して 3D 回転効果を実装するサンプル コード

3D効果を実現するには、主にCSSのpreserve-3dプロパティとperspectiveプロパテ...

MySQL 学習ノート: データ エンジン

現在のデータベースでサポートされているエンジンを表示します エンジンを表示 +-----------...

Linux でメモリ使用量を確認する方法

システムの問題、アプリケーションの速度低下、または原因不明の問題をトラブルシューティングする場合、最...

MySQL でテーブルを削除する 3 つの方法 (要約)

ドロップテーブルドロップはテーブル情報を直接削除するため、最も高速ですが、データを取得することはでき...

CSS を使用して正方形の div を実装する 2 つの方法

目標: 辺の長さが等しい正方形を作成する方法 1: 単位 vw を使用する (ps これが最も簡単な...

Apache クロスドメイン リソース アクセス エラーの解決策

多くの場合、大規模および中規模の Web サイトでは、静的リソース (フォント ファイル、画像など)...

略語マークと頭字語マーク

<abbr>タグと<acronym>タグは、Web ページに表示される略語と...

ブリージングカルーセルを実装するネイティブJS

今日は、ネイティブ JS で実装されたブリージング カルーセルを紹介します。効果は次のとおりです。 ...

VUE ユニアプリカスタムコンポーネントについての簡単な説明

1. 親コンポーネントはpropsを通じて子コンポーネントにデータを渡すことができる2. 子コンポー...