如何实现负载均衡
以nginx为例,在配置文件nginx.conf文件里配置一个upstreamnginx安装配置,把相关的服务器ip都配置进去。采用轮询的方案,然后在nginx里面的配置项里,proxy-pass指向这个upstream,这样就能实现负载均衡。
cd /etc/nginx
vim 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 查看
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