Nginx 仮想ホストの詳細な分析

Nginx 仮想ホストの詳細な分析

1. 仮想ホスト

1.1 仮想ホストの概念

Nginx の場合、各仮想ホストは同じサーバー内の互いに独立したサイトに相当し、1 つのホストで複数の Web サービスを外部に提供できます。各仮想ホストは独立しており、互いに影響を及ぼしません。

1.2 仮想ホストタイプ

仮想ホストの設定は Nginx を通じて行うことができます。Nginx は 3 種類の仮想ホスト設定をサポートしています。

  • IP ベースの仮想ホスティング (あまり使用されていない)
  • ドメインベースの仮想ホスティング
  • ポートベースの仮想ホスト

2. IP仮想ホストに基づく

2.1 複数のIPアドレスの設定

 [root@nginx ~]# ifconfig eth0:0 172.24.8.70 ブロードキャスト 172.24.8.255 ネットマスク 255.255.255.0
 [root@nginx ~]# ipアドレス | grep 172
 inet 172.24.8.71/24 brd 172.24.8.255 スコープ グローバル noprefixroute eth0
 inet 172.24.8.72/24 brd 172.24.8.255 スコープ グローバル セカンダリ eth0:0

ヒント: 上記のように、同じホストに複数の IP アドレスを追加します。

2.2 サイトディレクトリを作成する

 [root@nginx ~]# mkdir /usr/share/nginx/ipvhost01/
 [root@nginx ~]# mkdir /usr/share/nginx/ipvhost02/
 [root@nginx ~]# echo '<h1>Ipvhost01</h1>' > /usr/share/nginx/ipvhost01/index.html
 [root@nginx ~]# echo '<h1>Ipvhost02</h1>' > /usr/share/nginx/ipvhost02/index.html

2.3 仮想ホストの設定

 [root@nginx ~]# vi /etc/nginx/conf.d/ipvhost.conf
 サーバー{
 listen ; #ポート server_name ipvhost.odocker.com をリッスンします ...; #仮想ホスト名とIPを設定します
 位置 / {
 root /usr/share/nginx/ipvhost; #一致するパスを要求 index index.html; #ホームページを指定 access_log /var/log/nginx/ipvhost.access.log main;
 error_log /var/log/nginx/ipvhost.error.log 警告;
 }
 }
 サーバー{
 聞く ;
 サーバー名 ipvhost.odocker.com ...;
 位置 / {
 ルート /usr/share/nginx/ipvhost;
 インデックス index.html;
 access_log /var/log/nginx/ipvhost.access.log メイン;
 error_log /var/log/nginx/ipvhost.error.log 警告;
 }
 }
[root@nginx ~]# nginx -t -c /etc/nginx/nginx.conf #設定ファイルを確認する [root@nginx ~]# nginx -s reload #設定ファイルを再読み込みする

2.4 確認と検証

ブラウザ アクセス: ipvhost01.odocker.com。
クリップボード
ブラウザ アクセス: ipvhost02.odocker.com。
クリップボード

3. ドメイン名ベースの仮想ホスト

3.1 サイトディレクトリを作成する

 [root@nginx ~]# mkdir /usr/share/nginx/webvhost01/
 [root@nginx ~]# mkdir /usr/share/nginx/webvhost02/
 [root@nginx ~]# echo '<h1>Webvhost01</h1>' > /usr/share/nginx/webvhost01/index.html
 [root@nginx ~]# echo '<h1>Webvhost02</h1>' > /usr/share/nginx/webvhost02/index.html

3.2 仮想ホストの設定

 [root@nginx ~]# vi /etc/nginx/conf.d/webvhost.conf
 サーバー{
 聞く ;
 サーバー名 webvhost.odocker.com;
 位置 / {
 ルート /usr/share/nginx/webvhost;
 インデックス index.html;
 access_log /var/log/nginx/webvhost.access.log メイン;
 error_log /var/log/nginx/webvhost.error.log 警告;
 }
 }
 サーバー{
 聞く ;
 サーバー名 webvhost.odocker.com;
 位置 / {
 ルート /usr/share/nginx/webvhost;
 インデックス index.html;
 access_log /var/log/nginx/webvhost.access.log メイン;
 error_log /var/log/nginx/webvhost.error.log 警告;
 }
 }
[root@nginx ~]# nginx -t -c /etc/nginx/nginx.conf #設定ファイルを確認する [root@nginx ~]# nginx -s reload #設定ファイルを再読み込みする

3.3 確認と検証

ブラウザ アクセス: webvhost01.odocker.com。
クリップボード
ブラウザ アクセス: webvhost02.odocker.com。
クリップボード

4 つのポートベースの仮想ホスト

4.1 サイトディレクトリを作成する

[root@nginx ~]# mkdir /usr/share/nginx/portvhost01/
 [root@nginx ~]# mkdir /usr/share/nginx/portvhost02/
 [root@nginx ~]# echo '<h1>Portvhost01</h1>' > /usr/share/nginx/portvhost01/index.html
 [root@nginx ~]# echo '<h1>Portvhost01</h1>' > /usr/share/nginx/portvhost02/index.html

4.2 仮想ホストの設定

 [root@nginx ~]# vi /etc/nginx/conf.d/portvhost.conf
 サーバー{
 聞く ;
 サーバー名 portvhost.odocker.com;
 位置 / {
 ルート /usr/share/nginx/portvhost;
 インデックス index.html;
 access_log /var/log/nginx/portvhost.access.log メイン;
 error_log /var/log/nginx/portvhost.error.log 警告;
 }
 }
 サーバー{
 聞く ;
 サーバー名 portvhost.odocker.com;
 位置 / {
 ルート /usr/share/nginx/portvhost;
 インデックス index.html;
 access_log /var/log/nginx/access_portvhost.log メイン;
 }
 }
 [root@nginx ~]# nginx -t -c /etc/nginx/nginx.conf #設定ファイルを確認する [root@nginx ~]# nginx -s reload #設定ファイルを再読み込みする

4.3 確認と検証

ブラウザアクセス: portvhost01.odocker.com:8080
クリップボード
ブラウザアクセス: portvhost02.odocker.com:8081
クリップボード

Nginx 仮想ホストに関するこの記事はこれで終わりです。Nginx 仮想ホストに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Nginx で仮想ホストと指定されたアクセス パスを設定する方法
  • Nginx 仮想ホスト設定例 (複数のウェブサイト構成)
  • Nginx 仮想ホストを構成する 3 つの方法 (ドメイン名に基づく)
  • nginx 仮想ホスト設定例の詳細な説明
  • nginx で仮想ホストを構成するための詳細な手順
  • Nginx の仮想ホストに関するあまり知られていない知識のまとめ

<<:  Vue のループフォーム項目例の詳細な説明

>>:  MySQL水平および垂直テーブル変換操作の実装方法

推薦する

Rx レスポンシブプログラミングについての簡単な説明

目次1. 観察可能2. 高階関数3. エクスプレスボックスモデル3.1. エクスプレスボックスモデル...

Ubuntu 16.04 で PostgreSQL の起動を設定する方法

PostgreSQL はコンパイルされインストールされるため、起動時に起動するように設定する必要があ...

Vue カプセル化コンポーネント ツール $attrs、$listeners の使用

目次序文$属性例: $listeners (公式説明)使用シナリオ要約する序文複数レベルのコンポーネ...

VMware Workstation 仮想マシンのインストール操作方法

仮想マシンは非常に便利なテストソフトウェアです。ハードウェアに損傷を与えることなく、さまざまなテスト...

Linux での chmod コマンドの使用方法の詳細な説明

chmod コマンド構文chmod コマンドを使用する場合の正しい構文は次のとおりです。 chmod...

Linux で Grafana をインストールし、InfluxDB モニタリングを追加する方法

Grafana をインストールします。公式 Web サイトでは、直接インストールできる Ubuntu...

HTML に基づいてページを更新せずにフォーム送信を実装する

ページを更新せずにフォーム送信を実装するために Ajax を使用することは、プロジェクトでよく使用さ...

MySQL データベース インデックスが B+ ツリーの使用を選択するのはなぜですか?

MySQL データベース インデックスが B+ ツリーを使用する理由をさらに分析する前に、データ構...

Mysql接続数の設定と取得方法

接続数を取得する --- 最大接続数を取得します。SHOW VARIABLES LIKE '...

HTML で js を使用してローカル システム時間を取得する

コードをコピーコードは次のとおりです。 <div id="名前"> ...

Dockerを使用してブログサイトを素早く構築する方法の詳細な説明

目次1. 準備2. 展開プロセス3. アクセステストHalo は、ブログに慣れている学生に追加のオプ...

mysql 複数テーブル接続削除関数の削除

単一のテーブルを削除する: tableName から columnName = value を削除し...

WeChatアプレットはユーザーログインモジュールサーバーの構築を実装します

サーバーの構築には node.js を選択しました。まだインストールしていない方は、私の他の nod...

Vue で className として空の文字列を使用することはなぜ推奨されないのですか?

目次空の文字列 '' と null を比較するケース1: 空の文字列を使用する &#...

CentOS 7 に Docker 1.8 をインストールする詳細な手順

Docker は、次の CentOS バージョンでの実行をサポートしています。 • CentOS 7...