Nginx 仮想ホストを構成する 3 つの方法 (ポートベース) の詳細な説明

Nginx 仮想ホストを構成する 3 つの方法 (ポートベース) の詳細な説明

Nginx は、IP ベースの仮想ホスト構成、ポート ベースの仮想ホスト構成、ドメイン名ベースの仮想ホスト構成の 3 つの仮想ホスト構成方法をサポートしています。

Nginx 仮想ホスト (IP ベース) を構成する 3 つの方法の詳細な説明 https://www.jb51.net/article/14974.htm

Nginx 仮想ホストを構成する 3 つの方法の詳細な説明 (ドメイン名に基づく) https://www.jb51.net/article/14978.htm

2. Nginx ポートベースの仮想ホスト構成

サーバーの IP が 1 つしかない場合、または異なるポートを介して異なる仮想ホストにアクセスする必要がある場合は、ポートベースの仮想ホスト構成を使用できます。

2.1 サーバーのIPアドレスが192.168.2.154であると仮定します。

[root@localhost conf]# ifconfig ens33:4 192.168.2.154/24 アップ
[root@localhost conf]# ifconfig
ens33:4: flags=4163<UP、ブロードキャスト、実行中、マルチキャスト> mtu 1500
 inet 192.168.2.154 ネットマスク 255.255.255.0 ブロードキャスト 192.168.2.255
 ether 00:0c:29:16:90:ae txqueuelen 1000 (イーサネット)

2.2 設定する必要がある仮想ホストは 7081、8081、9081 です。ホストのホスト ファイルを設定すると、テストに便利です。

[root@localhost conf]# vim /etc/hosts
[root@localhost conf]# cat /etc/hosts|grep 192.168.2.154
192.168.2.154 www.test154.com

2.3 ウェブページを保存するための仮想ホストのルートディレクトリを作成し、ホームページファイルindex.htmlを作成します。

[root@localhost conf]# cd /data/www/
[root@localhost www]# mkdir ポート
[root@localhost www]# cd port/
[root@localhost ポート]# mkdir 7081 8081 9081
[root@localhost ポート]# ls
7081 8081 9081
[root@localhost port]# echo "ポート 7081" > 7081/index.html
[root@localhost port]# echo "ポート 8081" > 8081/index.html
[root@localhost port]# echo "ポート 9081" > 9081/index.html

2.4 nginx.confを変更し、仮想ホスト設定ファイルをメインファイルに含める

[root@localhost /]# cd /usr/local/nginx/conf/
[root@localhost conf]# ls
fastcgi.conf fastcgi_params koi-utf mime.types nginx.conf scgi_params uwsgi_params win-utf
fastcgi.conf.default fastcgi_params.default koi-win mime.types.default nginx.conf.default scgi_params.default uwsgi_params.default
[root@localhost conf]# vim nginx.conf

nginx.confファイルの最後に次の設定を追加します。

# httpセクションで次のコンテンツを見つけ、各行の先頭の「#」を削除します
 log_format main '$remote_addr - $remote_user [$time_local] "$request" '
   '$status $body_bytes_sent "$http_referer" '
   '"$http_user_agent" "$http_x_forwarded_for"';

# 設定ファイルの最後の「}」の前に次の文を追加します。以下に示すように、include vhost/*.conf

2.5 各ポートの設定ファイルを編集する

[root@localhost vhost]# vim www.test154.7081.conf
[root@localhost vhost]# cat www.test154.7081.conf
 サーバー{
 192.168.2.154:7081 をリッスンします。
 # 実際のドメイン名に設定します。各仮想ホスト設定ファイルのドメイン名は同じです #server_name www.test.com;

 access_log /data/logs/www.test154.7081.log メイン;
 エラーログ /data/logs/www.test154.7081.error.log;

 位置 / {
  ルート /data/www/port/7081;
  インデックス index.html index.htm;
 }
 }

[root@localhost vhost]# vim www.test154.8081.conf
[root@localhost vhost]# cat www.test154.8081.conf
 サーバー{
 192.168.2.154:8081 をリッスンします。
 # 実際のドメイン名に設定します。各仮想ホスト設定ファイルのドメイン名は同じです #server_name www.test.com;

 access_log /data/logs/www.test154.8081.log メイン;
 エラーログ /data/logs/www.test154.8081.error.log;

 位置 / {
  ルート /data/www/port/8081;
  インデックス index.html index.htm;
 }
 }

[root@localhost vhost]# vim www.test154.9081.conf
[root@localhost vhost]# cat www.test154.9081.conf
 サーバー{
 192.168.2.154:9081 をリッスンします。
 # 実際のドメイン名に設定します。各仮想ホスト設定ファイルのドメイン名は同じです #server_name www.test.com;

 access_log /data/logs/www.test154.9081.log メイン;
 エラーログ /data/logs/www.test154.9081.error.log;

 位置 / {
  ルート /data/www/port/9081;
  インデックス index.html index.htm;
 }
 }

2.6 ログファイルを作成します。そうしないと nginx を起動できません。

[root@localhost /]# mkdir -p /data/logs
[root@localhost /]# touch /data/logs/www.test154.7081.log
[root@localhost /]# touch /data/logs/www.test154.7081.error.log
[root@localhost /]# touch /data/logs/www.test154.8081.log
[root@localhost /]# touch /data/logs/www.test154.8081.error.log
[root@localhost /]# touch /data/logs/www.test154.9081.log
[root@localhost /]# touch /data/logs/www.test154.9081.error.log
[root@localhost /]# ls /data/logs/
www.test154.7081.error.log www.test154.8081.error.log www.test154.9081.error.log
www.test154.7081.log www.test154.8081.log www.test154.9081.log

2.7 nginxを起動する前に設定ファイルをテストする

[root@localhost /]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ./nginx -t
nginx: 設定ファイル /usr/local/nginx/conf/nginx.conf の構文は正常です
nginx: 設定ファイル /usr/local/nginx/conf/nginx.conf のテストが成功しました
# nginxを起動する
[root@localhost sbin]# ./nginx

2.8 テストファイル

[root@localhost ~]# curl http://www.test154.com:7081
ポート 7081
[root@localhost ~]# curl http://www.test154.com:8081
ポート 8081
[root@localhost ~]# curl http://www.test154.com:9081
ポート 9081

付録: 設定中のトラブル

1. 最終テスト中に発生した問題

[root@localhost sbin]# curl http://www.test154.com:7081
curl: (7) www.test154.com:7081 への接続に失敗しました。接続が拒否されました [root@localhost sbin]# curl 192.168.2.154:7081
curl: (7) 192.168.2.154:7081への接続に失敗しました。接続が拒否されました

解決:

1.1 次のコマンドを使用して、Nginxが対応するポートでリッスンしているかどうかを確認します。

[root@localhost conf]# netstat -lnt
アクティブなインターネット接続(サーバーのみ)
プロトコル 受信-Q 送信-Q ローカルアドレス 外部アドレス 状態
tcp 0 0 0.0.0.0:111 0.0.0.0:* 聞く
tcp 0 0 192.168.2.153:80 0.0.0.0:* 聞く
tcp 0 0 192.168.2.152:80 0.0.0.0:* 聞く
tcp 0 0 192.168.2.151:80 0.0.0.0:* 聞く
tcp 0 0 0.0.0.0:8080 0.0.0.0:* 聞く
tcp 0 0 192.168.2.154:8081 0.0.0.0:* 聞く
tcp 0 0 0.0.0.0:22 0.0.0.0:* 聞く
tcp 0 0 192.168.2.154:9081 0.0.0.0:* 聞く
tcp 0 0 127.0.0.1:25 0.0.0.0:* 聞く
tcp 0 0 192.168.2.154:7081 0.0.0.0:* 聞く
tcp6 0 0 :::111 :::* 聞く
tcp6 0 0 :::22 :::* 聞く
tcp6 0 0 :::23 :::* 聞く
tcp6 0 0 ::1:25 :::* 聞く

1.2 Nginxが対応するポートをリッスンしていない場合は、Nginxサービスを再起動します。それでも動作しない場合は、サーバーを再起動します。

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

以下もご興味があるかもしれません:
  • Nginx 仮想ホスト (IP ベース) を構成する 3 つの方法の詳細な説明
  • nginx 仮想ホスト設定例の詳細な説明
  • Nginx 仮想ホストを構成する 3 つの方法 (ドメイン名に基づく)

<<:  Vue で親子コンポーネントの値を双方向バインドするために v-model を使用するときに発生する問題と解決策

>>:  deepin 2014 システムに MySQL データベースをインストールする方法

ブログ    

推薦する

DIVマスクを使用して、マウスでチェックボックスを直接チェックすることが無効である問題を解決します

フロントエンドの開発過程で、チェックボックスが必要な状況が発生しました。ユーザー操作の利便性を考慮し...

CSSの4種類の配置の違いの詳細な説明

フロントエンド開発でよく使われるCSSの配置方法は、位置決めには、通常位置決め、相対位置決め、絶対位...

Linux システムに docker をインストールし、ssh 経由で docker コンテナにログインする方法

注: 私はCentosを使ってdockerをインストールしていますステップ1: Dockerをインス...

Docker で Confluence をデプロイするための完全な手順

Confluence は有料ですが、クラックして使用できます (購入が推奨され、正規版がサポートされ...

ログインスライダー検証を実装するJavaScript

この記事では、ログインスライダー検証を実装するためのJavaScriptの具体的なコードを参考までに...

vue3でDOMをマウントするためのプラグインを書く際の問題について

vue2と比較して、vue3にはアプリの概念が追加され、vue3プロジェクトの作成も // メイン....

myBatis で条件を削除する際のスプライシング問題を解決する

私は今日、mybatis を学び、データベースに対していくつかの簡単な追加、削除、変更、クエリを実行...

WeChatアプレット仮想リストの応用例

目次序文仮想リストとは何ですか?デモ効果準備スクリーンの高さとボックスの高さ最適化要約する序文人気の...

Vue 手書き読み込みアニメーション プロジェクト

ページが応答しない場合、白い画面が表示されないように、読み込みアニメーションを表示するのがユーザーフ...

HTML 選択オプション デフォルトの選択方法

オプションに属性 selected = "selected" を追加すると、それ...

MySQL 5.7.17 のインストールと設定方法のグラフィック チュートリアル (Ubuntu 16.04)

公式 MySQL Web サイトから Ubuntu Linux 用の最新バージョンの MySQL を...

Linux クラウド サーバーに JDK と Tomcat をインストールするための詳細な手順 (推奨)

JDKをダウンロードしてインストールするステップ 1: まず、公式 Web サイト http://...

一般的なブラウザ互換性の問題(概要)

ブラウザの互換性とは、スタイルの互換性 (CSS)、インタラクションの互換性 (JavaScript...

Windows 10 で MySql の解凍バージョンをインストールして構成する方法のチュートリアル

Windows 10 で MySql データベースの解凍バージョンをインストールするステップ 1: ...

Navicat による MySQL パーティショニングの実践

MySQLのパーティショニングは、非常に大きなテーブルを管理するのに役立ちます。MySQLのパーティ...