Nginx反向代理(理论)

Nginx反向代理
Nginx采用轮询的方式调用后端Web服务器(负载均衡)
Nginx代理还可以检测WEB服务器的好坏(健康检查)

#使用upstream定义后端服务器集群,集群名称任意(如webserver)
#使用server定义集群中的具体服务器和端口
upstream webserver {
ip_hash; #通过ip_hash设置调度规则为:相同客户端访问相同服务器
server 192.168.2.100:80 weight=2; #权重值为2,默认为1
server 192.168.2.200 max_fails=1 fail_timeout=20; #默认80,健康检查:允许失败三次,20秒之后再重试
server 192.168.2.101 down; #down标记服务器已关机,不参与集群调度
}
proxy_pass XXX 优先级最高

ninx的TCP/UDP调度器
ngx_stream_core_module模块
使用–with-stream开始该模块
注意是从nginx 1.9版本才有该功能
重装nginx,先关掉nginx,然后再去删除目录;直接删除目录,会导致重装后,服务起不来

使用别的服务集群时,可以套用这个模板,改后面的端口

[root@proxy nginx-1.12.2]#./configure  \
> --with-http_ssl_module \       #开启SSL加密功能
> --with-stream       #开启4层反向代理功能

一定要放在http前面

stream {
            upstream backend {
               server 192.168.2.100:22;            //后端SSH服务器的IP和端口
               server 192.168.2.200:22;
}
            server {
                listen 12345;                    //Nginx监听的端口
                 proxy_pass backend;
             }
}

ab -n 2000 -c 2000 http://192.168.4.5/ 测试并发量
-c :人
-n :总访问次数

总结
7层的网站代理
http{
upstream XXX{
server 192.168.2.100;
server 192.168.2.200;
}
server {
listen 80;
location / {
proxy_pass http://XXX
}
}
}
默认算法:轮询(绝对公平)1
     配置不一样(权重)3
     ip_hash;

4层代理
–with-stream
stream {
upstream XXX{
server 192.168.2.100:22/3306/25…; #各种服务端口
server 192.168.2.200;
}
server {
listen 12345;
proxy_pass http://XXX
}
}

发布了25 篇原创文章 · 获赞 2 · 访问量 593

猜你喜欢

转载自blog.csdn.net/f5500/article/details/103953631