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


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




背景

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

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


负载均衡

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

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


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

Nginx负载均衡配置简单配置方法的更多相关文章

  1. nginx负载均衡之入门配置

    先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况.那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以上 ...

  2. Nginx记录-nginx 负载均衡5种配置方式(转载)

    nginx 负载均衡5种配置方式 1.轮询(默认)   每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除.  2.weight 指定轮询几率,weight和访问比率成 ...

  3. nginx 负载均衡5种配置方式

    nginx 负载均衡5种配置方式 1.轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除. 2.weight 指定轮询几率,weight和访问比率成正比, ...

  4. 【转贴】Linux系统NGINX负载均衡404错误处理方法

    NGINX负载均衡404错误处理方法 使用NGINX 实现负载均衡,但一组服务器的数据不是实施同步,主服务器有了数据要过段时间才同步到其他服务器 upstream   image.stream.com ...

  5. nginx负载均衡tomcat和配置ssl

    目录 tomcat 组件功能 engine host context connector service server valve logger realm UserDatabaseRealm 工作流 ...

  6. 干货 | Nginx负载均衡原理及配置实例

    一个执着于技术的公众号 Nginx系列导读 给小白的 Nginx 10分钟入门指南 Nginx编译安装及常用命令 完全卸载nginx的详细步骤 Nginx 配置文件详解 理解正向代理与反向代理的区别 ...

  7. Nginx负载均衡的详细配置及使用案例详解.

    感谢看过这一些列博文和评论的小伙伴, 我把自己所看到的学到的拿到这里来分享是想和大家一起学习进步, 想听听园友给出的意见, 也是对自己学习过程的一个总结. 技术无止境, 我们仍需努力! 1,话不多说, ...

  8. [项目构建 十三]babasport Nginx负载均衡的详细配置及使用案例详解.

    在这里再次说明下, 这个项目是从网上 找到的一套学习资料, 自己在 空闲时间学习了这些东西. 这里面的code当然会有很多不完善的地方, 但是确实也能学到很多新东西.感谢看过这一些列博文和评论的小伙伴 ...

  9. nginx负载均衡二:配置

    配置方法一(可用): upstream tomcatserver1 { server ; server 192.168.70.172; server 192.168.70.173 down; serv ...

  10. tengine 基于权重负载均衡的简单配置

    环境如下: 资源服务器_1:192.168.10.10  centos 7  tengine 2.3.0 资源服务器_2:192.168.10.129  centos 7  tengine  2.3. ...

随机推荐

  1. java RTTI笔记 之Class学习笔记(摘自java编程思想)

    1.java 使用Class对象来执行其RTTI.java 中每个类在编译后都会对应产生一个Class对象(更恰当地说是被保存在一个同名的.class文件中),甚至void和基本类型也都对应一个cla ...

  2. K:java序列化与反序列化—transient关键字的使用

      首先,应该明白的是transient是java中的一个关键字,音标为 英: [ˈtrænziənt].   在了解transient关键字之前,应该先弄明白序列化和反序列化.所谓的序列化,通俗点的 ...

  3. 房上的猫:StringBuffer类

    一.使用StringBuffer类 StringBuffer类位于java.lang包中,是String类的增强类 步骤:  1.声明StringBuffer对象并初始化 StringBuffer s ...

  4. e.target和this的区别

    ```e.target与this的区别 event.target表示发生点击事件的元素this表示注册点击事件的元素 this 等于 e.currentTarget 指的是现在的目标this是所有原生 ...

  5. Life in Changsha 第二次scrum冲刺

    第二次冲刺   第二次冲刺任务 设计留言板功能. 用户故事 用户打开“生活在长大”的界面 程序首页展示校园服务,论坛等相关信息 用户选择留言板 程序界面跳转 用户查看留言,并可以输入留言内容 提交后留 ...

  6. [js高手之路] es6系列教程 - Map详解以及常用api

    ECMAScript 6中的Map类型是一种存储着许多键值对的有序列表.键值对支持所有的数据类型. 键 0 和 ‘0’会被当做两个不同的键,不会发生强制类型转换. 如何使用Map? let map = ...

  7. HTML5 使用FileReader实现调用相册、拍照功能

    HTML5定义了FileReader作为文件API的重要成员用于读取文件,根据W3C的定义,FileReader接口提供了读取文件的方法和包含读取结果的事件模型. FileReader的使用方式非常简 ...

  8. 浅谈MVC MVP MVVM

    复杂的软件必须有清晰合理的架构,否则无法开发和维护. MVC(Model-View-Controller)是最常见的软件架构之一,业界有着广泛应用. 它本身很容易理解,但是要讲清楚,它与衍生的 MVP ...

  9. Windows和Linux下换行的不同

    因为测试IM会用到一些账号,于是写了一段代码从数据库里把需要的用户名.密码和手机号都一一取了出来,然后放到NotePad++中做进一步的处理. 取用户名.手机号和密码的代码如下: public cla ...

  10. IO多路复用

    1.事件驱动模型 上一篇写的协程仅仅是切换,本身不能实现并发,什么时候切换也不知道 那么什么时候切回去呢?怎么确定IO操作完了?通过回调函数  对于事件驱动型程序模型,它的流程大致如下: 开始---& ...