ホームページ バックエンド開発 PHPチュートリアル Nginx を使用して Centos7.2 で仮想ホストを実装する

Nginx を使用して Centos7.2 で仮想ホストを実装する

Mar 05, 2018 am 11:33 AM
nginx 仮想ホスト

1. はじめに

まず、Linux システムに Nginx が正しくインストールされていることを確認する必要があります。もちろん、Nginx がインストールされていない場合は、

システム環境:
Linux 環境: centos- を参照してください。 7.2
Nginx 環境: nginx-1.9.9

2. Nginx について
Nginx は、高性能の http サーバー/リバース プロキシ サーバーおよび電子メール (IMAP/POP3) プロキシ サーバーです。ロシアのプログラマー、Igor Sysoev によって開発された nginx の公式テストは、50,000 の同時接続をサポートでき、CPU、メモリ、その他のリソースの消費量が非常に少なく、非常に安定して実行されます。オープンソースで無料。


3. Nginx で何ができるのですか?
1. http サーバー: Nginx は、http サービスを独自に提供できる http サービスです。静的 Web サーバーとして使用できます。
2. 仮想ホスト: 複数の Web サイトを 1 つのサーバー上で仮想化できます。たとえば、個人の Web サイトで使用される仮想ホストなどです。
3. リバースプロキシ/負荷分散: Web サイトへのアクセス数が一定のレベルに達し、単一のサーバーではユーザーの要求を満たすことができない場合、複数のサーバークラスターが必要になり、nginx をリバースプロキシとして使用できます。また、複数のサーバーが均等に負荷を分散できるため、特定のサーバーの負荷が高くなってダウンタイムが発生したり、特定のサーバーがアイドル状態になったりすることがなくなります。


4. Nginx を使用して仮想ホストを実装します
実際の運用環境では、私たちのビジネスはパブリック ネットワークを介してアクセスされます。 a クラウド サーバーはパブリック IP に対応するため、BAT などの一部の大企業にとって、パブリック IP は非常に希少なリソースです。
したがって、ここで Nginx を使用して仮想ホストを実装すると、互いに干渉することなく、同じサービス上で複数の Web サイトを実行できます。


同じサーバーに IP が割り当てられている可能性があり、Web サイトはポート 80 を使用する必要がありますが、Web サイトのドメイン名は異なります。
異なる Web サイトを区別するには 3 つの方法があります:


1. http サービス

2. 仮想マシンの実装

1) IP ベースの仮想マシン
2) ポートベースの仮想マシン
3) ドメイン名ベースの仮想マシン
3アンチプロキシ、負荷分散

5. IP による仮想ホストの区別

1 つのサーバー上で複数の IP アドレスをバインドします。

方法 1:

標準のネットワーク構成ツール (ifconfig や Route コマンドなど) を使用して LP エイリアスを追加します。


以下に示すように、コマンド「ifconfig」を入力して現在の IP 構成を表示します。 ens33 ネットワーク カードを再度バインドします。 IP: 192.168.78.142 を設定し、ネットワーク カードに ens33:1 という名前を付けます

/sbin/ifconfig ens33:1 192.168.78.142 broadcast 192.168.78.255 netmask 255.255.255.0 up
/sbin/route add -host 192.168.78.142 dev ens33:1
ログイン後にコピー

仮想ネットワーク カードが作成されると、次のようになります。



方法 2:

1. /etc/sysconfig/network を変更します - scripts/ifcfg-ens33 ファイルをコピーし、

ディレクトリに入り、コマンド「cp ifcfg-ens33 ifcfg-ens33:1 -r」を入力し、ifcfg-ens33 という名前を付けます。 1、以下に示すように:




2. 構成ファイルを変更し、コマンド「vi ifcfg-ens33:1」を入力し、次の内容を変更します。

NAME=ens33:1
DEVICE=ens33:1
IPADDR=192.168.78.142
ログイン後にコピー

変更後は他の項目を変更する必要はありません。以下に示すように、完了しました:


作成が完了したら、新しい IP をテストします。バインドが成功したかどうか、以下に示すように、DOS ウィンドウでコマンド「ping 192.168.78.142」を入力します。

注: 方法 1 を使用してバインドされた IP は、システムの再起動後に自動的にバインドが解除されるため、再バインドする必要があります。これは実際的な結論です。

3. システムを再起動します。

「reboot」コマンドを入力し、システムを再起動してから「ifconfig」コマンドを入力すると、以下に示すように、新しいネットワーク カードが正常に作成されたことがわかります。

6 nginx は仮想マシンを実装します

1) IP アドレスに基づいて nginx 仮想ホストを構成します
テスト用に nginx を識別する 2 つの HTML を準備します: /usr/local/nginx ディレクトリに移動し、HTML を 2 つのコピーにコピーします。

以下のindex.htmlの内容を変更します。簡単なのでここには書きません。分からない場合は、以下に示すようにメッセージを残すか、プライベートメッセージを送信してください。 nginx 設定ファイルを開き、コマンド「vi conf/nginx.config」を入力します


読者のコピーの便宜のため、ここでは不要なものを削除しました。内容は次のとおりです:

    server {
        listen       80;
        server_name  192.168.78.141;




        location / {
            root   html-141;
            index  index.html index.htm;
        }


    }


    server {
        listen       80;
        server_name  192.168.78.142;




        location / {
            root   html-142;
            index  index.html index.htm;
        }


    }
ログイン後にコピー
下の図に示すように。 :

测试nginx 虚拟主机是否可以正常访问,

测试 192.168.78.141 虚拟主机,如下图:




测试 192.168.78.142 虚拟主机,如下图:




2)、配置 nginx 基于端口的虚拟主机
还是老规矩,准备两个标识 nginx 的 HTML,用于在测试时好区别:进入到 /usr/local/nginx 目录下,将 html 分别复制两份,

在修改下面 index.html 的内容,这儿较简单就不在写了,如果不知道请留言或私信,如下图:


修改 nginx 的配置文件,输入命令 “ vi conf/nginx.config ”

方便读者的复制,内容如下:

server {
        listen       81;
        server_name  192.168.78.141;




        location / {
            root   html-81;
            index  index.html index.htm;
        }


    }


    server {
        listen       82;
        server_name  192.168.78.141;




        location / {
            root   html-82;
            index  index.html index.htm;
        }


    }
ログイン後にコピー

如下图所示:


重启Nginx 后,测试nginx 虚拟主机是否可以正常访问,

测试 81端口的 虚拟主机,如下图:


测试 82端口的 虚拟主机,如下图:





3)、基于域名的虚拟主机
基于域名的虚拟主机是最有用的虚拟主机配置方式。
即一个域名只能绑定一个ip地址,一个ip地址可以被多个域名绑定。


实现基于域名的虚拟主机,在这儿还需要修改 Linux 的 HostName,当然还可以通过 这个工具进行修改 ,对于互联网开发的人来说,经常变更 host 必不可免。每次我们都一遍一遍的去修改hosts文件真是很累,如果能更快速的修改成不同hosts,这儿为大家推荐一个好用的软件 SwitchHosts ,轻松一键切换。

以管理员身份打开,然后就可以设置域名和ip的映射关系,新增一个本地解决方案,键入如下内容,

192.168.78.141 www.12345.com
192.168.78.141 register.12345.com
192.168.78.141 login.12345.com
ログイン後にコピー

如下图:




注:修改window的hosts文件:(C:\Windows\System32\drivers\etc)


基于 Nginx 域名的虚拟主机配置,修改内容如下图:


    server {
        listen       80;
        server_name  www.12345.com;




        location / {
            root   html;
            index  index.html index.htm;
        }


    }




    server {
        listen       80;
        server_name  register.12345.com;




        location / {
            root   html-81;
            index  index.html index.htm;
        }


    }


    server {
        listen       80;
        server_name  login.12345.com;




        location / {
            root   html-82;
            index  index.html index.htm;
        }


    }
ログイン後にコピー

如下图所示:



修改配置文件后,需要 nginx 重新加载配置文件。

测试 www.12345.com,如下图:


测试 register.12345.com,如下图:


测试 login.12345.com,如下图:


相关推荐:

win10 apache配置虚拟主机后localhost无法使用

详解Linux虚拟主机相关问题

关于php之Apache配置虚拟主机

以上がNginx を使用して Centos7.2 で仮想ホストを実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Dockerコンテナの名前を確認する方法 Dockerコンテナの名前を確認する方法 Apr 15, 2025 pm 12:21 PM

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

nginxでクラウドサーバードメイン名を構成する方法 nginxでクラウドサーバードメイン名を構成する方法 Apr 14, 2025 pm 12:18 PM

クラウドサーバーでnginxドメイン名を構成する方法:クラウドサーバーのパブリックIPアドレスを指すレコードを作成します。 NGINX構成ファイルに仮想ホストブロックを追加し、リスニングポート、ドメイン名、およびWebサイトルートディレクトリを指定します。 nginxを再起動して変更を適用します。ドメイン名のテスト構成にアクセスします。その他のメモ:SSL証明書をインストールしてHTTPSを有効にし、ファイアウォールがポート80トラフィックを許可し、DNS解像度が有効になることを確認します。

Nginxバージョンを確認する方法 Nginxバージョンを確認する方法 Apr 14, 2025 am 11:57 AM

nginxバージョンを照会できるメソッドは次のとおりです。nginx-vコマンドを使用します。 nginx.confファイルでバージョンディレクティブを表示します。 nginxエラーページを開き、ページタイトルを表示します。

Windowsでnginxを構成する方法 Windowsでnginxを構成する方法 Apr 14, 2025 pm 12:57 PM

Windowsでnginxを構成する方法は? nginxをインストールし、仮想ホスト構成を作成します。メイン構成ファイルを変更し、仮想ホスト構成を含めます。 nginxを起動またはリロードします。構成をテストし、Webサイトを表示します。 SSLを選択的に有効にし、SSL証明書を構成します。ファイアウォールを選択的に設定して、ポート80および443のトラフィックを許可します。

nginxサーバーを開始する方法 nginxサーバーを開始する方法 Apr 14, 2025 pm 12:27 PM

NGINXサーバーを起動するには、異なるオペレーティングシステムに従って異なる手順が必要です。Linux/UNIXシステム:NGINXパッケージをインストールします(たとえば、APT-GetまたはYumを使用)。 SystemCtlを使用して、NGINXサービスを開始します(たとえば、Sudo SystemCtl Start NGinx)。 Windowsシステム:Windowsバイナリファイルをダウンロードしてインストールします。 nginx.exe実行可能ファイルを使用してnginxを開始します(たとえば、nginx.exe -c conf \ nginx.conf)。どのオペレーティングシステムを使用しても、サーバーIPにアクセスできます

Docker用のコンテナを作成する方法 Docker用のコンテナを作成する方法 Apr 15, 2025 pm 12:18 PM

Dockerでコンテナを作成します。1。画像を引く:Docker Pull [ミラー名]2。コンテナを作成:Docker Run [Options] [Mirror Name] [コマンド]3。コンテナを起動:Docker Start [Container Name]

Nginxが開始されるかどうかを確認する方法 Nginxが開始されるかどうかを確認する方法 Apr 14, 2025 pm 01:03 PM

nginxが開始されるかどうかを確認する方法:1。コマンドラインを使用します:SystemCTLステータスnginx(Linux/unix)、netstat -ano | FindStr 80(Windows); 2。ポート80が開いているかどうかを確認します。 3.システムログのnginx起動メッセージを確認します。 4. Nagios、Zabbix、Icingaなどのサードパーティツールを使用します。

Dockerによってコンテナを起動する方法 Dockerによってコンテナを起動する方法 Apr 15, 2025 pm 12:27 PM

Docker Containerの起動手順:コンテナ画像を引く:「Docker Pull [Mirror Name]」を実行します。コンテナの作成:「docker create [options] [mirror name] [コマンドとパラメーター]」を使用します。コンテナを起動します:「docker start [container name or id]」を実行します。コンテナのステータスを確認してください:コンテナが「Docker PS」で実行されていることを確認します。

See all articles