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 マスタースレーブ同期メカニズムと同期遅延問題追跡プロセス

推薦する

Vue nextTickの原理の分析

目次イベントループmiscroTask (マイクロタスク) UI レンダリング (重要なポイント)次...

Youdaの新しいプチビューの実装

目次序文導入ライブ使いやすいルートスコープマウント要素の指定ライフサイクルコンポーネントグローバル状...

OracleデータをMySQLデータベースに抽出する実装プロセス

Oracle データベースから MySQL データベースへの移行では、Oracle データベース モ...

Linuxでディスク使用量を確認する方法

1. dfコマンドを使用してディスク全体の使用量を表示します。 df コマンドは、ハードディスクのマ...

ドロップダウンメニューとスライドメニューのデザイン例

ドロップダウン メニューやスライド メニューを使用している Web サイトをたくさん見つけたので、私...

IE、Firefox、Chromeブラウザではスペースの表示が異なります

&nbsp;&nbsp;IE、Firefox、Chrome ブラウザでの表示効果は、...

フォーム送信の更新ページはソースコード設計にジャンプしません

1. ソースコードの設計コードをコピーコードは次のとおりです。 <!DOCTYPE html ...

MySQL のインデックスの原理とクエリの最適化の詳細な説明

目次1. はじめに1. インデックスとは何ですか? 2. インデックスはなぜ必要なのでしょうか? 2...

Alibaba Cloud Server への Web プロジェクトのデプロイについて (5 つの手順)

1.まずAlibaba Cloudのウェブサイトにログインしてアカウントを登録し、サーバータイプを...

Node.js で MySQL データベースにバッチデータを挿入する方法

プロジェクト(nodejs)では、一度に複数のデータをデータベースに挿入する必要があります。データベ...

Reactはページング効果を実装する

この記事では、Reactでページング効果を実現するための具体的なコードを参考までに紹介します。具体的...

MySQL データベース シェル import_table データ インポート

目次MySQL Shell import_table データのインポート1. import_tabl...

MySQLが大量のデータを処理する際にクエリ速度を最適化するいくつかの方法

実際に参加したプロジェクトでは、MySQL テーブルのデータ量が数百万に達すると、通常の SQL ク...

JavaScript プロトタイプチェーンを理解するための 2 つの図

目次1. プロトタイプの関係2. プロトタイプチェーン3. 結論序文:前回の記事では、JavaScr...

Mybatis+mysqlはストアドプロシージャを使用してシリアル番号実装コードを生成します。

同時操作によるデータの重複を避けるために、データベースを操作するときにストアドプロシージャを使用して...