day49Nginx负载均衡实战

day49Nginx负载均衡实战
集群开机顺序:
1、从后往前开。

编译安装nginx负载均衡
下载:
mkdir -p /server/tools
cd /server/tools
wget http://nginx.org/download/nginx-1.16.0.tar.gz

安装依赖。

yum install pcre pcre-devel -y
yum install openssl openssl-devel -y #https加密用他。

编译安装步骤

tar xf nginx-1.16.0.tar.gz
cd nginx-1.16.0/
useradd -u 1111 -s /sbin/nologin nginx -M
id nginx
./configure --user=nginx --group=nginx --prefix=/application/nginx-1.16.0/ --with-http_stub_status_module --with-http_ssl_module --with-pcre
make
make install
ln -s /application/nginx-1.16.0/ /application/nginx
echo 'export PATH=/application/nginx/sbin:$PATH' >>/etc/profile
. /etc/profile
/application/nginx/sbin/nginx
netstat -lntup|grep nginx
curl 127.0.0.1
安装成功

负载均衡模板配置:
[root@lb01 conf]# egrep -v "^$|#" nginx.conf.default >nginx.conf
[root@lb01 /application/nginx/conf]# vim nginx.conf
upstream backend {
server 10.0.0.7:80 weight=1;
server 10.0.0.8:80 weight=1;
}

server {
listen 80;
server_name blog.etiantian.org;
location / {
proxy_pass http://backend;
}
}
upstream 模块 负载均衡池。
backend 负载均衡池名称
weight 分配的比例

[root@lb01 conf]# egrep -v "^$|#" nginx.conf.default >nginx.conf

正式配置:
[root@lb01 conf]# cat nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream backend {
server 10.0.0.7:80 weight=1;
server 10.0.0.8:80 weight=1;
}

server {
    listen       80;
    server_name  www.etiantian.org;
    location / {
        proxy_pass http://backend;
        proxy_set_header Host  $host;
    }

}
}
别忘了,提前配置web服务器的www虚拟主机 把
WEB01:
[root@web01 /application/nginx/conf/extra]# cat blog.conf
server {
listen 80;
server_name blog.etiantian.org;
location / {
root html/blog;
index index.php index.html index.htm;
}
access_log logs/access_blog.log main;
location ~ .*.(php|php5)?$ {
root html/blog;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;

 }

}

增加www负载均衡,有一个域名,就需要添加一个

[root@lb01 /application/nginx/conf]# cat nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream backend {
server 10.0.0.7:80 weight=1;
server 10.0.0.8:80 weight=1;
}
server {
listen 80;
server_name www.etiantian.org;
location / {
proxy_pass http://backend;
proxy_set_header Host host; } } server { listen 80; server_name blog.etiantian.org; location / { proxy_pass http://backend; proxy_set_header Hosthost;
}
}
}

默认情况浏览器请求负载均衡器,会携带host字段,但是Nginx代理向后请求节点
默认在请求头里不带host字段。
配置Nginx代理向后请求节点默认在请求头里带host字段配置参数:
proxy_set_header Host $host;就不会乱访问了

proxy_set_header X-Forwarded-For $remote_addr; 可以查到客户的真实IP,而不是负载均衡的IP

<==这是反向代理时,节点服务器获取用户真实IP的必要功能配置。

在反向代理请求后端节点服务器的请求头中增加获取的客户端IP的字段信息,然后节点后端可以通过程序或者相关的配置接收X-Forwarded-For传过来的用户真实IP的信息。
注意lb01负载均衡只这里配置了,web服务器也要配置,格式如下:
[root@web01 /application/nginx/conf]# cat nginx.conf
worker_processes 1;
user nginx nginx;
error_log logs/error_bbs.log;
error_log logs/error_blog.log;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
log_format main 'remote_addr -remote_user [time_local] "request" '
'statusbody_bytes_sent "http_referer" ' '"http_user_agent" "$http_x_forwarded_for"';
include extra/*.conf;
}
注意,上边一行代码的星,在虚拟机测试负载均衡的时候,最好写成具体的域名,因为解析的域名如果识别到了星下的域名,可能会
冲突。

负载均衡模板配置:
upstream backend {
server 10.0.0.7:80 weight=1;
server 10.0.0.8:80 weight=1;
}

upstream blog_server_pool {
server 10.0.10.6; #<==这一行标签和下一行是等价的。
server 10.0.10.6:80 weight=1 max_fails=1 fail_timeout=10s;
nginx upstream监测节点状态,把不好的踢出去。好的时候加进来。

for n in {1..50};do curl www.etiantian.org;sleep 1;done
在负载均衡服务器上输入,测试负载均衡访问的web服务器是否为一比一的访问
(把两台web的www.etiantian.org内容设置不一样,更容易看到效果,sleep是时间间隔。)
tail -f access_www.log 查看哪个IP访问了我的IP

下节内容:
1、NGINX调度算法
2、动静分离
程序修改实现动静分离。
NGINX 反向代理实现动静分离。
3、根据PC、手机调度负载均衡
4、nginx代理的web状态页面(淘宝开发的插件)

Keepalived高可用。

实现负载均衡易错总结:

首先要把域名对应的首页,从php模式改为html模式,然后在站带你目录下创建intex.html,记住授权nginx属主和组
举例:
[root@web01 /application/nginx/conf/extra]# cat blog.conf
server {
listen 80;
server_name blog.etiantian.org;
location / {
root html/blog;
index index.php index.html index.htm;
}
把index.php 删掉或者放在index.html 后边就好了。

在虚拟机测试负载均衡时,把主配置文件的星改成具体的域名最好,如下:
[root@web01 /application/nginx/conf]# vim nginx.conf
worker_processes 1;
user nginx nginx;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
log_format main 'remote_addr -remote_user [time_local] "request" '
'statusbody_bytes_sent "http_referer" ' '"http_user_agent" "$http_x_forwarded_for"';

    include extra/blog.conf;
    }
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,539评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,911评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,337评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,723评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,795评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,762评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,742评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,508评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,954评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,247评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,404评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,104评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,736评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,352评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,557评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,371评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,292评论 2 352

推荐阅读更多精彩内容