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. 求字符数组逆序数(poj1007)

    int InversionNumber(char* s,int len) { int ans=0;  //s逆序数 int A,C,G;  //各个字母出现次数,T是最大的,无需计算T出现次数 A=C ...

  2. Sql 的 RAISERROR用法

    http://www.yesky.com/imagesnew/software/tsql/ts_ra-rz_5ooi.htm RAISERROR 返回用户定义的错误信息并设系统标志,记录发生错误.通过 ...

  3. MySQL:表的操作 知识点难点总结:表完整性约束及其他常用知识点二次总结🙄

    表操作 一 : 修改表表表表表表表表表: ALTER TABLE 语法 1. 改表名rename alter table 表名 rename 新表名 2. 增加字段add alter table 表名 ...

  4. PHP进阶,使用交互模式进行快速测试实验?

    额,那啥,PHP很强,大家都知道哈.不过呢,在搞PHP里的人中,自然也要分高下的.当然了,我更喜欢用好玩来形容了. 什么叫做快速开发?我觉得,快就得快到随手写几个字,就能让代码跑起来!那么,PHP能做 ...

  5. Django学习日记02_项目环境

    创建一个工程: django-admin.py startproject mySite 将会产生以下文件: mySite/    manage.py    mySite/        __init_ ...

  6. vue的挖坑和爬坑之vuex的简单入门

    首先vuex的中文文档https://vuex.vuejs.org/zh-cn/ 首先vuex是什么,官方解释是 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应 ...

  7. Not using bundled FreeTDS (error: command 'gcc' failed with exit status 1)

    # Wget https://pypi.python.org/packages/4c/c8/5ad36d8d3c304ab4f310c89d0593ab7b6229568dd8e9cde927311b ...

  8. 理解纯CSS画三角形

    pure css draw a triangle code { display: inline-block; width: 300px; background-color: #E0E0E0 } .te ...

  9. 在VSCode中编辑HTML文档时,在Dom标签上写style属性时智能提示的问题

    首先在VSCode中打开一个HTML文件 然后点右下角的“选择语言模式” 然后点击配置HTML语言的基础设置 然后在打开的界面中(右侧) 输入如下代码 { "editor.quickSugg ...

  10. Mongodb集群【三】

    Mongodb常用三种集群 1 主从(Master/Slave) 不推荐,但是mongodb依然保留有.一主多从,不支持链式结构.简单主从,没有裁仲者不能自动恢复. 2 副本集(Relica Set) ...