如何实现负载均衡

以nginx为例,在配置文件nginx.conf文件里配置一个upstreamnginx安装配置,把相关的服务器ip都配置进去。采用轮询的方案,然后在nginx里面的配置项里,proxy-pass指向这个upstream,这样就能实现负载均衡。

cd /etc/nginxvim nginx.conf
# php8_server 是我们的服务名upstream php8_server {    server 192.168.233.82:80 weight=90; # weight权重,越高请求命中概率越高    server 192.168.233.83:80 weight=10; }

Nginx负载的4种模式

1、轮询:每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

2、权重(weight):指定轮询机率,weight和访问比率成正比,用于后端服务器性能不均的情况。

3、Ip_hash:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

4、fair , url_hash(第三方):按后端服务器的响应时间来分配请求,响应时间短的优先分配。

具体的配置方法

1.轮询方式:

打开nginx.conf文件,在http节点下添加upstream节点:

vim /etc/nginx/nginx.conf...  upstream webname {    server 192.168.233.82:8080;    server 192.168.233.83:8080;  }

其中webname是自己取的名字,最后会通过这个名字在url里访问的,像上面这个例子一样什么都不加就是默认的轮询,第一个请求过来访问第一个server,第二个请求来访问第二个server。依次轮着来。

192.168.233.82是服务器内网ip,可以通过 ifconfig 查看

配置安装显示已安装_nginx安装配置_配置安装Gradio

2.权重方式

upstream webname {    server 192.168.233.82:8080 weight 2;    server 192.168.233.83:8080 weight 1;  }

这个weight也很好理解,权重大的被访问的概率就大,上面这个例子的话,访问2次server1,访问一次server2

3.Ip_hash方式

upstream webname {    ip_hash;    server 192.168.233.82:8080;    server 192.168.233.83:8080;  }

ip_hash的配置也很简单,直接加一行就可以了,这样只要是同一个ip过来的请求都会到分发同一台server上。

然后在server节点下进行配置:proxy_pass 需要映射到文中第一段代码中的配置

php8_server。

server {   listen       80;   server_name  192.168.233.81;
# Load configuration files for the default server block. include /etc/nginx/default.d/*.conf;
location / { index index.html index.htm; proxy_pass http://php8_server; }}

proxy_pass 里面的就代替了原来的ip地址,这样就完成基本的nginx负载配置了nginx安装配置,下面介绍具体的配置流程及示例。

具体示例

1、下载安装好VmwareWorkstation并安装好相关的系统环境(如linux系统,nginx服务,PHP等)

环境安装可自行百度(网上案例特别多),本文目前只写一篇安装nginx的文章

Centos8安装nginx1.19

———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: Lgxmw666