nginx负载均衡简单配置
nginx负载均衡简单配置
准备三台虚拟机来做这个实验:
172.16.160.99 web服务器
172.16.160.103 web服务器
172.16.160.98 负载均衡服务器
首先三台电脑预装nginx软件:
1、yum安装nginx
yum install nginx
3、启动nginx
chkconfig nginx on
service nginx start
向web服务器中放入测试文件:
<!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title> <style>body {width: 35em;margin: 0 auto;font-family: Tahoma, Verdana, Arial, sans-serif;} </style> </head> <body> <h1>99 !</h1> <p>If you see this page, the nginx web server is successfully installed and working. Further configuration is required.</p><p>For online documentation and support please refer to <a href="http://nginx.org/">nginx.org</a>.<br/> Commercial support is available at <a href="http://nginx.com/">nginx.com</a>.</p><p><em>Thank you for using nginx.</em></p> </body> </html>
配置负载均衡服务器:
vi /etc/nginx/nginx.conf
内容如下:
user nginx; worker_processes 1;error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid;events {worker_connections 1024; }http {include /etc/nginx/mime.types;default_type application/octet-stream;log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log /var/log/nginx/access.log main;sendfile on;#tcp_nopush on; keepalive_timeout 65;#gzip on; upstream store {server 172.16.160.103:80;server 172.16.160.99:80;}server {listen 80;server_name store;charset utf-8;location / {root html;index index.html index.htm;proxy_pass http://store; [root@localhost conf.d]# cat /etc/nginx/nginx.conf user nginx; worker_processes 1;error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid;events {worker_connections 1024; }http {include /etc/nginx/mime.types;default_type application/octet-stream;log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log /var/log/nginx/access.log main;sendfile on;#tcp_nopush on; keepalive_timeout 65;#gzip on; upstream store { server 172.16.160.103:80;server 172.16.160.99:80; }server { listen 80; server_name store; charset utf-8; location / { root html; index index.html index.htm; proxy_pass http://store; proxy_set_header X-Real-IP $remote_addr; client_max_body_size 100m; } }include /etc/nginx/conf.d/*.conf; }
下面浏览器打开:172.16.160.98,如果99、103交替显示则表明试验成功。
拓展:
1、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2、weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
例如:
upstream bakend {
server 192.168.159.10 weight=10;
server 192.168.159.11 weight=10;
}
3、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
例如:
upstream resinserver{
ip_hash;
server 192.168.159.10:8080;
server 192.168.159.11:8080;
}
4、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
upstream resinserver{
server server1;
server server2;
fair;
}
5、url_hash(第三方)
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
例:在upstream中加入hash语句,server语句中不能写入weight等其他的参数,hash_method是使用的hash算法
upstream resinserver{
server squid1:3128;
server squid2:3128;
hash $request_uri;
hash_method crc32;
}
tips:
upstream resinserver{#定义负载均衡设备的Ip及设备状态
ip_hash;
server 127.0.0.1:8000 down;
server 127.0.0.1:8080 weight=2;
server 127.0.0.1:6801;
server 127.0.0.1:6802 backup;
}
在需要使用负载均衡的server中增加
proxy_pass http://resinserver/;
每个设备的状态设置为:
1.down 表示单前的server暂时不参与负载
2.weight 默认为1.weight越大,负载的权重就越大。
3.max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
4.fail_timeout:max_fails次失败后,暂停的时间。
5.backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
nginx支持同时设置多组的负载均衡,用来给不用的server来使用。
client_body_in_file_only 设置为On 可以讲client post过来的数据记录到文件中用来做debug
client_body_temp_path 设置记录文件的目录 可以设置最多3层目录
location 对URL进行匹配.可以进行重定向或者进行新的代理 负载均衡
转载于:https://www.cnblogs.com/wangmo/p/7161437.html
nginx负载均衡简单配置相关推荐
- php nginx 负载均衡简单配置过程
1.负载均衡 一台计算机的计算资源是有效的,当超大流量请求时,就可能导致请求等待或者服务器死机的情况,为了解决大流量访问的问题,可以搭建分布式,将请求分发到不同计算机,就可以解决大流量请求的问题. 长 ...
- Nginx负载均衡常用配置
搭建实验环境(使用docker部署两台nginx容器) 1)使用搭建第一台nginx服务 [root@linux-node4 ~]# docker container run -d --name we ...
- Nginx负载均衡与配置Nginx的ssl
2019独角兽企业重金招聘Python工程师标准>>> Nginx负载均衡 什么是负载均衡? 负载均衡就是,把请求均衡地分发到后端的各个机器上面. 比如,A B C D 四台WEB服 ...
- Nginx 负载均衡 初步配置验证 笔记
需求 有两台windows服务器,iis承载WebAPI,测试使用Windows平台Nginx做负载均衡验证. A机IP及Web端口:192.168.7.54:8052. B机IP及Web端口:192 ...
- nginx负载均衡的配置
负载均衡可以配置权重: upstream myserver{ server 192.168.17.129:8080 weight=10 server 192.168.17.129:8081 weigh ...
- nginx 负载均衡 404_nginx配置负载均衡
- 负载均衡是网络基础架构的一个非常关键的组成部分,有了负载均衡,我们可以把应用服务器部署多台,避免了服务宕机,也增强了服务的性能及可用性. - 负载均衡的算法有很多 ,这里只是简单提下, - **轮 ...
- Nginx负载均衡的配置【内网】
快速理解 有两台服务器(网段相同,可以理解为两台不同物理地址的服务器),分别是155和156,他们分别都可以通过 自己的IP:8080 访问tomcat服务器中的页面. 169.254.38.155: ...
- nginx 负载均衡proxy 配置
在http模块 加入 upstream fuzai{ server 服务器ip; #有端口的话 ip:端口 默认80端口可以不写 } 在server 模块需要负载的location加入 lo ...
- Tomcat集群快速入门:Nginx负载均衡配置,常用策略,场景及特点
Nginx负载均衡的配置,常用策略,场景,以及特点,放到这里是需要更细化的讲解,毕竟一期还没有做集群,而我们这一期做集群的时候,很多点要单独拿出来深入讲解,第一个轮询,默认的一个配置,简单也好理解,第 ...
最新文章
- 一次线上生产问题的全面复盘 【定位-分析-解决】
- Java接口interface
- python stm32-【ST开发板评测】使用Python来开发STM32F411
- accsess转成mysql语句_access数据库转mysql经验分享
- 一、PHP基础——表单传值、上传文件
- centos将某一目录权限给用户_centos7如何新建普通权限用户,仅能访问指定目录,使用gcc?...
- STM32F103:三.(1)步进电机
- 手把手教你写ORM(七)
- 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第3节 线程同步机制_3_线程安全问题产生的原理...
- 学维修电脑要多久_学古筝难吗?古筝要多久才能学会?
- python调用通达信函数用户指标_通达信公式之间如何调用,如何引用通达信tdxwave指标...
- 大型POS机收银系统源码MVC架构
- 中国雅虎首页改版彻底与口碑网剥离
- 万全服务器t350装系统_联想万全350安装win2003
- 什么软件可以支持视频转换成文字?
- Varargs(可变个数形参)
- 【iOS-Cocos2d游戏开发之十】添加粒子系统特效并解决粒子特效与Layer之间的坐标问题;
- shell脚本实操学习之函数、正则表达式
- php拼接全景图,Opencv使用Stitcher类图像拼接生成全景图像
- 灰鸽子--木马、后门实验