正文
如果dig命令没有则装# yum install -y bind-utils
# vi /usr/local/nginx/nginx.conf // 写入如下内容
#//名称可以定义 upstream myserver { # 使同一个用户保持在同一个机器上 (ip哈希算法) ip_hash; server 192.168.1.2:80; server 192.168.1.3:80; } server { # 定义监听端口域名 listen 80; server_name www.baidu.com; location / { #/根据你上面的upstream 名称来定义 proxy_pass http://myserver; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
首先先验证下是否写对
# /usr/local/nginx/sbin/nginx -t
然后重新加载(重启)
# /usr/local/nginx/sbin/nginx -s reload
负载均衡配置成功啦
其中upstream,在这里定义后端web server,可以是一个也可以多个,其中ip_hash为负载均衡算法,他表示根据ip地址吧请求分到不同的服务器上,每台客户端对应的服务器是固定的,比如A用户为1.1.1.1,b用户为2.2.2.2则A访问的时候会吧请求转发到第一个web server上,而b访问则会到第二台web server上,这种算法是比较常用的。
当然还有其他5种:
1、轮询算法(默认)
请求被平均调度给多个服务器处理
http { ... upstream myserver { server 192.168.1.2:8080; server 192.168.1.3:8080; ... } server { ... location / { proxy_pass http://myserver; } } }
2、加权轮询算法
给要轮询的服务器配置权重
http { ... upstream myserver { server 192.168.1.2:8080 weight=10; server 192.168.1.3:8080 weight=90; ... } ... server { ... localtion / { proxy_pass http://myserver; } } }
3、最少连接数算法
此种方式nginx会将请求转发到当前连接数较少的服务器
http { ... upstream myserver { least_conn; server 192.168.1.2:8080; server 192.168.1.3:8080; ... } ... server { ... location / { proxy_pass http://myserver; } } }
4、url_hash算法
将客户端url进行hash运算,然后将请求转发到相应的服务器,这种方式相同url会转发到同一个服务器
需要安装url_hash补丁
http { ... upstream myserver { server 192.168.1.2:8080; server 192.168.1.3:8080; ... hash $request_uri; hash_method crc32; } ... server { ... location / { proxy_pass http://myserver; } } }
5、fair算法
优先选择响应时间最短的服务器
需要安装模块:nginx-upstream-fair-master
http { ... upstream myserver { fair; server 192.168.1.2:8080; server 192.168.1.3:8080; ... } ... server { ... location / { proxy_pass http://myserver; } } }
样式图片不加载解决
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; error_log /dev/null; access_log /dev/null; #加上这句 proxy_pass http://myserver; } location ~ .*\.(js|css)?$ { expires 12h; error_log /dev/null; access_log /dev/null; #加上这句 proxy_pass http://myserver; }
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Nginx设置负载均衡》
文章链接: https://www.sgtms.com/shorthand/117.html
本站资源仅供个人学习交流,转载或者引用本文内容请注明来源及作者,不允许用于商业用途。
文章名称:《Nginx设置负载均衡》
文章链接: https://www.sgtms.com/shorthand/117.html
本站资源仅供个人学习交流,转载或者引用本文内容请注明来源及作者,不允许用于商业用途。
网友评论抢沙发