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

小云云
リリース: 2023-03-20 18:38:02
オリジナル
4353 人が閲覧しました

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!