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 サービス
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
仮想ネットワーク カードが作成されると、次のようになります。
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」コマンドを入力すると、以下に示すように、新しいネットワーク カードが正常に作成されたことがわかります。
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无法使用
以上がNginx を使用して Centos7.2 で仮想ホストを実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。