Nginx负载均衡配置简单配置方法

Nginx负载均衡配置简单配置方法

http://www.jb51.net/article/121235.htm

Nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将请求转发至不同的Web服务器。下面通过本文给大家分享Nginx负载均衡配置简单配置方法,需要的的朋友参考下吧


背景

当一个网站从小到大,访问量逐渐增大现有的服务器已经支撑不住,一般的解决方案就是缓存、加服务器、数据库读写分离、实行负载均衡分布式等等,本人对这些技术方案都没有在项目中具体的实践过,

但是一直听同事过说起,利用空闲时间自我学习了解下;

负载均衡

什么是负载均衡,就是当快要承受不住的时候,又给你一台服务器来分担压力,请求会分配到两台服务器上,两台服务器上部署相同的内容相当于一个分身,可以处理相同的事情;

Nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将请求转发至不同的Web服务器

Nginx负载均衡配置简单配置方法

Nginx配置文件

 1)  从Nginx官网下载 http://nginx.org/en/download.html

 2)    安装Nginx,并找到nginx.conf文件(C:\nginx\conf\nginx.conf);

 在http中加入配置:

   加权轮询,按服务器的性能给予权重,本例是1:2分配

1
2
3
4
upstream www.woizuqiu.com {
  server 192.168.1.1:8080 weight=1;
 
server 192.168.1.1:8090 weight=2;
}

  ip_hash轮询方法,不可给服务器加权重,nginx会让相同的客户端ip请求相同的服务器 

1
2
3
4
5
upstream www.woizuqiu.com {
    server 192.168.1.1:8080;
    server 192.168.1.1:8090 max_fails=3 fail_timeout=30s ;
   ip_hash;
   }

  根据服务器的本身的性能差别及职能,可以设置不同的参数控制。

  down 表示负载过重或者不参与负载

  weight 权重过大代表承担的负载就越大

  backup 其它服务器时或down时才会请求backup服务器

  max_fails 失败超过指定次数会暂停或请求转往其它服务器

  fail_timeout 失败超过指定次数后暂停时间

server配置如下: 

1
2
3
4
5
6
7
8
9
10
11
12
1
server {
  
listen  80;
  
server_name www.woizuqiu.com;
  
#charset koi8-r;
  
#access_log logs/host.access.log main;
  
location / {
   
add_header backendIP $upstream_addr;
#被转发到的上游服务器地址
   
add_header backendCode $upstream_status;
#状态码
   
proxy_pass http:
//www
.woizuqiu.com;
   
proxy_set_header Host $host;
   
proxy_set_header X-Real-IP $remote_addr;
   
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;         
  
}
 
}

1.查看Nginx版本:

  C:\nginx>nginx -v

2.启动Nginx:

  C:\nginx>start nginx

  启动Nginx需要占用80端口,常见错误:bind() to 0.0.0.0:8080 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions),需要把系统的80端口关掉,

  检查端口:netstat -aon | findstr :80 

3.判断Nginx是否启动:

  tasklist /fi “imagename eq nginx.exe”

4.停止:

  C:\nginx>nginx.exe -s stop

5.重新载入Nginx:

  C:\nginx>nginx.exe -s reload

总结

以上所述是小编给大家介绍的Nginx负载均衡配置简单配置方法,希望对大家有所帮助

原文链接:http://www.cnblogs.com/amoshu/p/7346806.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113871.html原文链接:https://javaforall.net

(0)
上一篇 2021年10月9日 下午9:00
下一篇 2021年10月9日 下午10:00


相关推荐

  • js中map遍历数组对象_js遍历数组

    js中map遍历数组对象_js遍历数组forEach()和map()都是遍历数组的方法,用法类似,但是还是有很大区别:相同点:      1.都是循环遍历数组中的每一项;      2.在遍历中执行匿名函数都可以接收三个参数,分别为:遍历过程的每一项、遍历序号(索引值)、原数组;      3.执行的匿名函数中的this都指向window。  不同点:      map():      根据遍历执行的匿名函数,对于原数…

    2025年11月10日
    8
  • HTML中的setCapture和releaseCapture

    HTML中的setCapture和releaseCapturesetCapture函数的作用就是将后续的mouse事件都发送给这个对象,releaseCapture就是将鼠标事件还回去,由document、window、object之类的自行来处理。这样就保证了在拖动的过程中,不会由于经过了其它的元素而受到干扰。另外,还有一个很重要的事情是,在Win32上,mousemove的事件不是一个连续的,也就是说,并不是我们每次移动1px的鼠标指针,就会发…

    2022年6月4日
    31
  • 超详细扣子Coze智能体搭建教程 跨境电商必看

    超详细扣子Coze智能体搭建教程 跨境电商必看

    2026年3月12日
    3
  • idea配置Tomcat时没有Artifacts选项

    idea配置Tomcat时没有Artifacts选项首先解释一下IDEA中的Artifact是什么?Artifacts是maven中的一个概念,表示某个module要如何打包,例如warexploded、war、jar、ear等等这种打包形式;好奇这个带不带exploded的有什么差别不?exploded在这里你可以理解为展开,不压缩的意思。也就是war、jar等产出物没压缩前的目录结构。这个是不带exploded的。和下图的框框对比下,就可以看到差别啦这两张图,意在说明,带exploded和不带的差别,一个是打包压缩,另.

    2022年10月18日
    5
  • Redis布隆过滤器原理与实践

    Redis布隆过滤器原理与实践背景在高并发请求时,业务数据一般会对数据进行缓存,提高系统并发量,因为磁盘IO和网络IO相对于内存IO的成百上千倍的性能劣势。做个简单计算,如果我们需要某个数据,该数据从数据库磁盘读出来需要0.1s,从交换机传过来需要0.05s,那么每个请求完成最少0.15s(当然,事实上磁盘和网络IO也没有这么慢,这里只是举例),该数据库服务器每秒只能响应67个请求;而如果该数据存在于本机内存里,读出来只需要10us,那么每秒钟能够响应100,000个请求。通过将高频使用的数据存在离cpu更近的位置,以减少数据传

    2022年10月7日
    8
  • SQL server 数据加密

    SQL server 数据加密简介加密是指通过使用密钥或密码对数据进行模糊处理的过程 在 SQLServer 中 加密并不能替代其他的安全设置 可以当数据库激活成功教程或是备份被盗取后的最后一道防线 通过加密 未经授权的人在没有密匙或密码的情况下所窃取的数据变成毫无意义

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号