Nginx は、IP ベースの仮想ホスト構成、ポート ベースの仮想ホスト構成、ドメイン名ベースの仮想ホスト構成の 3 つの仮想ホスト構成方法をサポートしています。 Nginx 仮想ホストを構成する 3 つの方法 (ポートベース) の詳細な説明 https://www.jb51.net/article/14977.htm Nginx 仮想ホストを構成する 3 つの方法の詳細な説明 (ドメイン名に基づく) https://www.jb51.net/article/14978.htm 1. IPベースの仮想ホスト構成 同じサーバーに複数の IP がある場合は、IP ベースの仮想マシン ホスト構成を使用して、異なるサービスを異なる IP にバインドできます。 1.1 サーバーの IP アドレスが 192.168.2.150 であると仮定して、まず ifconfig を使用して、他の 3 つの IP を同じネットワーク インターフェイスにバインドします。 [root@localhost ~]# ifconfig ens33:1 192.168.2.151/24 アップ [root@localhost ~]# ifconfig ens33:2 192.168.2.152/24 アップ [root@localhost ~]# ifconfig ens33:3 192.168.2.153/24 アップ [root@localhost ~]# ifconfig ens33: flags=4163<UP、BROADCAST、RUNNING、MULTICAST> mtu 1500 inet 192.168.2.106 ネットマスク 255.255.255.0 ブロードキャスト 192.168.2.255 inet6 fe80::2a8d:be6:a4a8:ea0 プレフィックス長 64 スコープID 0x20<リンク> ether 00:0c:29:16:90:ae txqueuelen 1000 (イーサネット) RXパケット 1220 バイト 87955 (85.8 KiB) RXエラー 0 ドロップ 0 オーバーラン 0 フレーム 0 TXパケット 206 バイト 23755 (23.1 KiB) TXエラー 0 ドロップ 0 オーバーラン 0 キャリア 0 衝突 0 ens33:1: flags=4163<UP、ブロードキャスト、実行中、マルチキャスト> mtu 1500 inet 192.168.2.151 ネットマスク 255.255.255.0 ブロードキャスト 192.168.2.255 ether 00:0c:29:16:90:ae txqueuelen 1000 (イーサネット) ens33:2: flags=4163<UP、ブロードキャスト、実行中、マルチキャスト> mtu 1500 inet 192.168.2.152 ネットマスク 255.255.255.0 ブロードキャスト 192.168.2.255 ether 00:0c:29:16:90:ae txqueuelen 1000 (イーサネット) ens33:3: flags=4163<UP、ブロードキャスト、実行中、マルチキャスト> mtu 1500 inet 192.168.2.153 ネットマスク 255.255.255.0 ブロードキャスト 192.168.2.255 ether 00:0c:29:16:90:ae txqueuelen 1000 (イーサネット) lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 ネットマスク 255.0.0.0 inet6 ::1 プレフィックス長 128 スコープID 0x10<ホスト> ループ txqueuelen 1 (ローカル ループバック) RXパケット 72バイト 6252 (6.1 KiB) RXエラー 0 ドロップ 0 オーバーラン 0 フレーム 0 TXパケット 72バイト 6252 (6.1 KiB) TXエラー 0 ドロップ 0 オーバーラン 0 キャリア 0 衝突 0 1.2 3つのIPに対応するドメイン名は次のとおりです。テストしやすいようにホストのホストファイルを設定します。 [root@localhost ~]# vim /etc/hosts [root@localhost ~]# cat /etc/hosts 127.0.0.1 ローカルホスト ローカルホスト.ローカルドメイン ローカルホスト4 ローカルホスト4.ローカルドメイン4 ::1 ローカルホスト ローカルホスト.ローカルドメイン ローカルホスト6 ローカルホスト6.ローカルドメイン6 192.168.2.151 www.test151.com 192.168.2.152 www.test152.com 192.168.2.153 www.test153.com DNS ポーリングの状況をシミュレートできます。 注意: hostsファイルを設定したら、必ず次のコマンドを実行して有効にしてください。 1. Windowsでcmdを使用してコマンドラインを入力します。 C:\Users\1234>ipconfig /flushdns Windows IP 構成により、DNS 解決キャッシュが正常にフラッシュされました。 1.3 ウェブページを保存するための仮想ホストのルートディレクトリを作成し、ホームページファイルindex.htmlを作成します。 [root@localhost /]# mkdir -p /data/www [root@localhost /]# cd /data/www [root@localhost www]# mkdir 151 [root@localhost www]# mkdir 152 [root@localhost www]# mkdir 153 [root@localhost www]# echo "192.168.2.151" > 151/index.html [root@localhost www]# echo "192.168.2.152" > 152/index.html [root@localhost www]# echo "192.168.2.153" > 153/index.html [root@localhost www]# ls 151 152 153 1.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; } 1.5 各IPの設定ファイルを編集する(各仮想ホストの設定ファイル) [root@localhost conf]# mkdir -p vhost [root@localhost conf]# cd vhost/ [root@localhost vhost]# cat www.test151.conf サーバー{ 192.168.2.151:80 を聞きます。 # 実際のドメイン名に設定します。各仮想ホスト設定ファイルのドメイン名は同じです #server_name www.test.com; access_log /data/logs/www.test151.com.log メイン; エラーログ /data/logs/www.test151.com.error.log; 位置 / { ルート /data/www/151; インデックス index.html index.htm; } } [root@localhost vhost]# cat www.test152.conf サーバー{ 192.168.2.152:80 を聞きます。 # 実際のドメイン名に設定します。各仮想ホスト設定ファイルのドメイン名は同じです #server_name www.test.com; access_log /data/logs/www.test152.com.log メイン; エラーログ /data/logs/www.test152.com.error.log; 位置 / { ルート /data/www/152; インデックス index.html index.htm; } } [root@localhost vhost]# cat www.test153.conf サーバー{ 192.168.2.153:80 を聞きます。 # 実際のドメイン名に設定します。各仮想ホスト設定ファイルのドメイン名は同じです #server_name www.test.com; access_log /data/logs/www.test153.com.log メイン; エラーログ /data/logs/www.test153.com.error.log; 位置 / { ルート /data/www/153; インデックス index.html index.htm; } } 1.6 ログファイルを作成します。そうしないと nginx を起動できません。 [root@localhost /]# mkdir -p /data/logs [root@localhost /]# touch /data/logs/www.test151.com.log [root@localhost /]# touch /data/logs/www.test151.com.error.log [root@localhost /]# touch /data/logs/www.test152.com.log [root@localhost /]# touch /data/logs/www.test152.com.error.log [root@localhost /]# touch /data/logs/www.test153.com.log [root@localhost /]# touch /data/logs/www.test153.com.error.log [root@localhost /]# ls /data/logs/ www.test151.com.error.log www.test152.com.error.log www.test153.com.error.log www.test151.com.log www.test152.com.log www.test153.com.log 1.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 1.8 テストファイル [root@localhost sbin]# curl www.test151.com 192.168.2.151 [root@localhost sbin]# curl www.test152.com 192.168.2.152 [root@localhost sbin]# curl www.test153.com 192.168.2.153 付録: 設定中に発生した問題 1. 設定ファイルのテスト中に発生した問題 [root@localhost sbin]# ./nginx -t nginx: [emerg] /usr/local/nginx/conf/nginx.conf:122 に予期しない "}" があります nginx: 設定ファイル /usr/local/nginx/conf/nginx.conf のテストに失敗しました 解決策: 次の文にセミコロンを追加するのを忘れました vhost/*.conf をインクルードします。 2. curl www.test*.comを使用してテストすると、常に同じ結果が得られます。 解決策: server_name の後に IP アドレスを書き込まないでください。server_name の後に追加できるのはドメイン名のみです。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: js クロージャとガベージ コレクション メカニズムの例の詳細な説明
>>: MySQLはトリガーを使用してデータベース内のテーブルの行制限を解決します。詳細な説明と例
JS でよく使用されるイベントは次の通りです。ページイベント: load;フォーカス イベント: フ...
1. ネットワーク接続方法がブリッジされていることを確認する物理ネットワーク接続ステータスのコピーを...
HTML ボタン自体を中央に配置するにはどうすればよいでしょうか? このアイデアは簡単に見つかります...
1. 従来のbinlogマスタースレーブレプリケーション、エラー報告をスキップする方法 mysql&...
1. テキストの書式設定: この例では、HTML ファイル内のテキストを書式設定する方法を示します...
MySQL 環境をローカル (192.168.1.152) にデプロイし、リモート クライアント 1...
MySQL は、myisam、innodb、memory、archive、example など、多く...
この記事では、配列を走査する 4 つの方法を比較してまとめます。 for ループ: for (let...
ウェブページを画像としてキャプチャする新機能があったので、人気のhtml2canvasを使ってみまし...
目次序文SQL文の最適化遅いクエリSQLを記録する設定を変更する方法スロークエリログを表示するSQL...
背景まず最初に、私はフロントエンド開発の専門家ではないことを述べておきたいと思います。私の以前のコン...
目次概要リバースプロキシの役割Nginx リバース プロキシ イントラネット侵入 8081 ポートの...
目次結合構文: 1. InnerJOIN: (内部結合) 2. LeftJOIN: (左結合) 3....
1. 永続的な統計情報の重要性:統計は、MySQL が実行プランを生成するためのガイドとして使用され...
Tomcat CentOS インストールこのインストール チュートリアルでは、次の内容について説明し...