- web節(jié)點(diǎn)
[root@web01 ~]# cat /etc/nginx/conf.d/web.oldxu.com.conf
server {
listen 8080;
server_name web.oldxu.com;
root /web;
location / {
index index.html;
}
}
- 代理配置
[root@lb01 ~]# cat /etc/nginx/conf.d/proxy_web.oldxu.com.conf
server {
listen 80;
server_name web.oldxu.com;
location / {
proxy_pass http://10.0.0.7:8080;
}
}
代理參數(shù)
[root@lb01 ~]# cat /etc/nginx/conf.d/proxy_web.oldxu.com.conf
server {
listen 80;
server_name web.oldxu.com;
location / {
proxy_pass http://10.0.0.7:80;
include proxy_params;
}
}
[root@lb01 ~]# cat /etc/nginx/proxy_params
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_buffering on;
proxy_buffer_size 32k;
proxy_buffers 4 128k;
負(fù)載均衡
[root@lb01 ~]# cat /etc/nginx/conf.d/proxy_web.oldxu.com.conf
upstream web {
server 10.0.0.7:8000;
server 10.0.0.8:8000;
}
server {
listen 80;
server_name web.oldxu.com;
location / {
proxy_pass http://web;
include proxy_params;
}
}
后端web配置 (所有的web都需要配置一致)
[root@web01 conf.d]# cat web.oldxu.com.conf
server {
listen 8000;
server_name web.oldxu.com;
root /web;
location / {
index index.html;
}
}
[root@web02 conf.d]# cat web.oldxu.com.conf
server {
listen 8000;
server_name web.oldxu.com;
root /web;
location / {
index index.html;
}
}
blog zh 集成
1.確保所有的web節(jié)點(diǎn)都安裝好了blog或者zh 并得確保是能正常訪問的
2.接入負(fù)載均衡
如果出現(xiàn)問題:
將負(fù)載均衡--->代理到指定的一臺(tái)服務(wù)器 測試 在換一臺(tái) 測試
配置如下:
[root@lb01 conf.d]# cat proxy_blog.oldxu.com.conf
upstream blog {
server 172.16.1.7:80;
server 172.16.1.8:80;
}
server {
listen 80;
server_name blog.oldxu.com;
location / {
proxy_pass http://blog;
include proxy_params;
}
}
[root@web01 conf.d]# cat blog.oldxu.com.conf
server {
listen 80;
server_name blog.oldxu.com;
root /code/wordpress;
client_max_body_size 100m;
location / {
index index.php index.html;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
[root@lb01 conf.d]# cat proxy_zh.oldxu.com.conf
upstream zh {
server 172.16.1.7:80;
server 172.16.1.8:80;
}
server {
listen 80;
server_name zh.oldxu.com;
location / {
proxy_pass http://zh;
include proxy_params;
}
}
[root@web01 conf.d]# cat zh.oldxu.com.conf
server {
listen 80;
server_name zh.oldxu.com;
root /code/zh;
client_max_body_size 100m;
location / {
index index.php;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
負(fù)載均衡調(diào)度算法
調(diào)度算法 | 概述 |
---|---|
輪詢 | 按時(shí)間順序逐一分配到不同的后端服務(wù)器(默認(rèn)) |
weight | 加權(quán)輪詢,weight值越大,分配到的訪問幾率越高 4 16G 8 64G |
ip_hash | 每個(gè)請求按訪問IP的hash結(jié)果分配,這樣來自同一IP的固定訪問一個(gè)后端服務(wù)器 |
url_hash | 按照訪問URL的hash結(jié)果來分配請求,是每個(gè)URL定向到同一個(gè)后端服務(wù)器 |
least_conn | 最少鏈接數(shù),那個(gè)機(jī)器鏈接數(shù)少就分發(fā) |
2.后端的節(jié)點(diǎn)狀態(tài)指標(biāo)
狀態(tài) | 概述 |
---|---|
down | 當(dāng)前的server暫時(shí)不參與負(fù)載均衡 |
backup | 預(yù)留的備份服務(wù)器 |
max_fails | 允許請求失敗的次數(shù) |
fail_timeout | 經(jīng)過max_fails失敗后, 服務(wù)暫停時(shí)間 |
max_conns | 限制最大的接收連接數(shù) |
[root@lb01 conf.d]# cat proxy_web.oldxu.com.conf
upstream web {
server 10.0.0.7:80 max_conns=1000 max_fails=3 fail_timeout=10s;
server 10.0.0.8:80 max_conns=1000 max_fails=3 fail_timeout=10s;
keepalive 16; #最大的空閑連接數(shù)
keepalive_timeout 100s; #超時(shí)時(shí)間
keepalive_requests 50; #一個(gè)連接最大的請求數(shù)
#負(fù)載均衡與后端的連接和請求數(shù)的限制
#注意:需要配置 proxy_http_version proxy_set_header Connection "";
}
server {
listen 80;
server_name web.oldxu.com;
location / {
proxy_pass http://web;
include proxy_params;
}
}
會(huì)話保持
置一個(gè)網(wǎng)站:
1.測試session是否存儲(chǔ)至于本地
2.配置多個(gè)web節(jié)點(diǎn)
3.接入負(fù)載均衡 --->輪詢 -->正常登陸
第一步: 記得測試
[root@web01 ~]# cat /etc/nginx/conf.d/phpmyadmin.oldxu.com.conf
server {
listen 80;
server_name phpmyadmin.oldxu.com;
root /code/phpmyadmin;
location / {
index index.php;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
第二步配置phpmyadmin
[root@web01 ~]# cd /code/phpmyadmin/
[root@web01 phpmyadmin]# cp config.sample.inc.php config.inc.php
第三步修改配置文件(修改為需要連接的數(shù)據(jù)庫IP地址)
[root@web01 phpmyadmin]# vim config.inc.php
$cfg['Servers'][$i]['host'] = '172.16.1.51';
第四步配置第二個(gè)節(jié)點(diǎn): 記得測試
第五步: 接入負(fù)載均衡
[root@lb01 ~]# cat /etc/nginx/conf.d/proxy_phpmyadmin.oldxu.com.conf
upstream php {
server 172.16.1.7:80;
server 172.16.1.8:80;
}
server {
listen 80;
server_name phpmyadmin.oldxu.com;
location / {
proxy_pass http://php;
include proxy_params;
}
}