私はネイティブのロシア人ではなく、比較的最近この言語を書いて話すので、私は良い文法を持っていないことをすぐに警告したいので、事前に謝罪します。
2年前の作業過程で、HTML + PHP + MSSQLに基づいたプロジェクトを開始しました。もちろん、このすべての作業のWeb部分は有名なApache WEBサーバーで行われました。 しかし、時間が経つにつれて、負荷が増加し始め、いくつかのWEBサーバー間で負荷を分散する時が来ました。 多くの議論と議論の末、次の決定に至りました。 次のスキームに注意を切り替えてください。
スキームを実現するために必要なもの:
1)NginX-トラフィックのバランスをとるためのプロキシサーバー
2)2つのApacheサーバー
この記事では、NginXベースのトラフィックバランシングサーバーのセットアップについて説明します。
このため、CentOS 6.4オペレーティングシステムを選択します。
サーバーには2つのネットワークカードがあり、そのうちの1つはインターネットにアクセスして、インターフェイスにアクセスする設定を行います。
cd / etc / sysconfig / network-scripts
vi ifcfg-eth0
デバイス= eth0
HWADDR = 00:0C:33:6a:90:F8
TYPE =イーサネット
UUID = de83281a-sa20-4791-b588-5621718adf4d
ONBOOT =はい
NM_CONTROLLED =はい
BOOTPROTO =静的
IPADDR = 217.11.175.73
NETMASK = 255.255.255.224
ゲートウェイ= 217.11.175.33
DNS1 = 217.11.190.2
これでインターネットができました。次にローカルネットワークを構成します
cd / etc / sysconfig / network-scripts
vi ifcfg-eth0
デバイス= eth1
HWADDR = 00:0V:35:6a:90:F3
TYPE =イーサネット
UUID = de83281a-sa10-4791-b577-5621718adf4d
ONBOOT =はい
NM_CONTROLLED =はい
BOOTPROTO =静的
IPADDR = 192.168.1.3
ネットマスク= 255.255.255.0
次に、トラフィックのバランスを取るためにプロキシサーバーのインストールとセットアップを開始しましょう。
--- CentOSでパッケージを更新する
yum update -y
#wget nginx.org/packages/rhel/6/noarch/RPMS/nginx-release-rhel-6-0.el6.ngx.noarch.rpm
#rpm -ivh nginx-release-rhel-6-0.el6.ngx.noarch.rpm
-Nginxの使用を開始する
yum install nginx -y
カタログにインストールした後
/ etc / nginx
NginX構成ファイルが表示されたら、既存のファイルをバックアップします
cp nginx.conf /etc/nginx/nginx.conf.backup
その後、設定ファイルの変更を開始します
rm nginx.conf
vi nginx.conf
新しい設定を追加します
#プロセスを開始するユーザーとグループ
ユーザーnginx;
#3ワークフロー
worker_processes 3;
#エラーのログ
error_log /var/log/nginx/error.log debug;
イベント{
#最大動作接続
worker_connections 1024;
}
http {
#MIMEテーブルを接続します
mime.typesを含めます。
#デフォルトのMIMEタイプ
default_type application / octet-stream;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
sendfile on;
#モジュールにより、使用可能なサーバーのグループを記述できます
#proxy_passおよびfastcgi_passディレクティブで。
アップストリームWeb {
#このパラメーターは、IPアドレスの最初の4つの動作でセッションをハッシュします。これは、誰かが非同期要求を使用する場合に役立ちます
ip_hash;
#ディレクティブは、サーバーの名前とパラメーターを設定します。 ご注意ください
#proxy_passディレクティブで「pv」という名前を使用します
サーバー192.168.28.8重量= 2; #max_fails = 60 fail_timeout = 2s;
サーバー192.168.28.9重量= 2; #max_fails = 60 fail_timeout = 2s;
}
サーバー{
#ポート80をリッスンする
80を聞きます。
場所/ {
#前述のProxy_passディレクティブ
proxy_pass web;
#プロキシ設定を接続する
/etc/nginx/proxy.confを含めます。
}
}
}
構成で、プロキシ設定を指定するproxy.confファイルを接続しました
proxy_redirect off;
proxy_set_header Host $ host;
proxy_set_header X-Real-IP $ remote_addr;
proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffers 32 4k;
proxy_cache_bypass http;
ご清聴ありがとうございました。