ホームページ  >  記事  >  バックエンド開発  >  Lvs-nat は、nfs に基づいて php アプリケーションを実装します。

Lvs-nat は、nfs に基づいて php アプリケーションを実装します。

WBOY
WBOYオリジナル
2016-06-23 13:06:371746ブラウズ

Lvs-nat は、マルチターゲット DNAT であり、選択された RS の RIP および PORT へのリクエスト メッセージ内のターゲット アドレスとポート アドレスを変更することで実現されます。












Lvs-natリクエスト処理プロセスとその特徴:


1. クライアントがリクエストを送信すると、フロントエンド ホストはリクエストを受け入れます。このとき、ソース IP は CIP で、ターゲット IP は VIP です。

2. クライアントのリクエスト メッセージが、これが見つかった場合は、PREROUTING を介してローカル マシンに送信されます。要求がクラスター サービスである場合、要求は POSTROUTING に直接送信され、サービスを提供するバックエンド ホストが選択されます。バックエンド ホスト; 現時点では、ソース IP は CIP で、ターゲット IP は RIP1 です (注: DIP のゲートウェイは RIP1 を指している必要があります)

3. RIP1 はリクエストを受け入れ、リクエストを処理し、次の層を追加します。構築された応答メッセージに対する IP 保護。この時点で、ソース IP は RIP1、ターゲット IP は CIP です (注: 最初の要求を行った人がそれに応答します。同時に、メッセージを送信できるように、RIP のゲートウェイは DIP をポイントする必要があります)


4. VIP がメッセージを受信した後、この時点で送信元 IP がターゲットになります。 IP は CIP です

実際にサービスを提供するのはバックエンド ホストですが、人々はフロントエンド ホストがサービスを提供していると考えているため、バックエンド ホストはより高度なセキュリティを備えています。ただし、プロセス全体を通じて、すべての応答はフロントエンド ホストを経由する必要があります。ユーザーのリクエストが多数ある場合、フロントエンド ホストのパフォーマンスがボトルネックになります。

nfs: tcp プロトコルのポート 2049 でリッスンするネットワーク ファイル システム。その主な機能はファイル共有とストレージを実現することです。

準備環境:

ネットワークカード1:172.122:10.0.1.100

VM 1 に ipvsadm をインストールします

[root@localhost ~]# yum install ipvsadm -y[root@localhost ~]# ipvsadm -Ln   ## 查看规则的先关信息IP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port   Forward Weight ActiveConn InActConn

次にルールを定義します

[root@localhost ~]# ipvsadm -A  -t  172.18.42.122:80 -s rr   ##增加一条集群规则[root@localhost ~]# ipvsadm -a  -t  172.18.42.122:80 -r 10.0.1.99 -m -w 1  ##在指定的集群上添加RS的规则[root@localhost ~]# curl http://172.18.42.122    ##查看规则是否定义成功 <h1>10.0.1.99 Web Server RS1</h1>

仮想マシン 3 で nfs サービスを開始します

[root@localhost ~]# vim /etc/exports /lweim  10.0.1.99(rw)  ##添加这一行[root@localhost ~]# exportfs  -r  ##重载文件

showmount コマンドを使用して仮想マシン 2 で表示します

れーれー

仮想 3 の共有ディレクトリの権限と所有者を変更します

[root@localhost ~]# showmount -e 10.0.1.200  ##查看是否共享Export list for 10.0.1.200:/lweim 10.0.1.99[root@localhost ~]# mount -t nfs 10.0.1.200:/lweim /var/www/html/ ##把指定的目录挂载至虚拟机2上[root@localhost ~]# mount   ##查看是否挂载上10.0.1.200:/lweim on /var/www/html type nfs (rw,vers=4,addr=10.0.1.200,clientaddr=10.0.1.99)

仮想 2 にランプと php-xml をインストールします (phpwind 拡張機能が利用可能です。それ以外の場合はインストールが失敗する可能性があります)

[root@localhost ~]# yum install httpd php php- mysql mysql-server -y ##インストールプログラム

[root@localhost ~]# service httpd start ##httpdサービスを開始します


Webサービス上のphpプログラムにアクセスします


仮想マシン 2 で mysql プログラムを起動し、認証します

[root@localhost ~]# chown -R apache:apache /lweim/*  ##将共享目录下所有文件属组属主更改为apache[root@localhost ~]# ll /lweim/wtc/   ##查看是否更改total 24-rw-rw-r--  1 apache apache  451 Nov 29  2014 AUTHORS-rwxrwxr-x  1 apache apache 3757 Nov 29  2014 LICENSE-rw-r--r--  1 apache apache 5796 Nov 29  2014 profile_run.htm-rw-rw-r--  1 apache apache  516 Nov 29  2014 readme.txtdrwxrwxr-x 14 apache apache 4096 Nov 29  2014 upload[root@localhost ~]# setfacl -m u:apache:rwx /lweim/wtc/*   ##更改其权限[root@localhost ~]# ll /lweim/wtc/total 24-rw-rwxr--+  1 apache apache  451 Nov 29  2014 AUTHORS-rwxrwxr-x+  1 apache apache 3757 Nov 29  2014 LICENSE-rw-rwxr--+  1 apache apache 5796 Nov 29  2014 profile_run.htm-rw-rwxr--+  1 apache apache  516 Nov 29  2014 readme.txtdrwxrwxr-x+ 14 apache apache 4096 Nov 29  2014 upload

phpwind をインストールしてログインします


問題の概要:

(1) nfs 共有ディレクトリの場合、所有者グループと権限同時に変更する必要があります。クライアントとサーバーに同じ UID を持つユーザーが必要です


(2) フロントエンド ホストの管理サーバー ルールを設定する場合は、Web サービスにアクセスできるかどうかに注意してください。 VIP または DIP に基づいています。

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