【转载】Nginx负载均衡配置简单配置方法

本文涉及的产品
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
简介: 背景当一个网站从小到大,访问量逐渐增大现有的服务器已经支撑不住,一般的解决方案就是缓存、加服务器、数据库读写分离、实行负载均衡分布式等等,本人对这些技术方案都没有在项目中具体的实践过,但是一直听同事过说起,利用空闲时间自我学习了解下;负载均衡什...

背景
当一个网站从小到大,访问量逐渐增大现有的服务器已经支撑不住,一般的解决方案就是缓存、加服务器、数据库读写分离、实行负载均衡分布式等等,本人对这些技术方案都没有在项目中具体的实践过,
但是一直听同事过说起,利用空闲时间自我学习了解下;

负载均衡
什么是负载均衡,就是当快要承受不住的时候,又给你一台服务器来分担压力,请求会分配到两台服务器上,两台服务器上部署相同的内容相当于一个分身,可以处理相同的事情;
Nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将请求转发至不同的Web服务器

img_10d9a5ac6c38f7c95c5f3cfb6056e3ad.png

Nginx配置文件

  1. 从Nginx官网下载 http://nginx.org/en/download.html
  2. 安装Nginx,并找到nginx.conf文件(C:\nginx\conf\nginx.conf);
    在http中加入配置:
upstream www.woizuqiu.com {
  server 192.168.1.1:8080 weight=1;
 server 192.168.1.1:8090 weight=2;
}

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

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配置如下:

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

来源:http://mp.weixin.qq.com/s/T8sDa9ER0j-OQgppFNy9XA

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
4月前
|
应用服务中间件 Linux 网络安全
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
565 87
|
4月前
|
负载均衡 应用服务中间件 nginx
Nginx配置与命令
Nginx 是一款高性能的 HTTP 和反向代理服务器,其配置文件灵活且功能强大。本文介绍了 Nginx 配置的基础结构和常用指令,包括全局块、Events 块、HTTP 块及 Server 块的配置方法,以及静态资源服务、反向代理、负载均衡、HTTPS 和 URL 重写等功能实现。此外,还提供了常用的 Nginx 命令操作,如启动、停止、重载配置和日志管理等,帮助用户高效管理和优化服务器性能。
|
2月前
|
应用服务中间件 网络安全 nginx
配置Nginx以支持Websocket连接的方法。
通过上述配置,Nginx将能够理解WebSocket协议的特殊要求,代理Websocket流量到合适的后端服务器。注意,Websocket并不是HTTP,尽管它最初是通过HTTP请求启动的连接升级,因此保证Nginx了解并能够妥善处理这种升级流程是关键。
394 10
|
3月前
|
安全 应用服务中间件 网络安全
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
213 0
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
|
3月前
|
JSON 前端开发 应用服务中间件
配置Nginx根据IP地址进行流量限制以及返回JSON格式数据的方案
最后,记得在任何生产环境部署之前,进行透彻测试以确保一切运转如预期。遵循这些战术,守卫你的网络城堡不再是难题。
165 3
|
4月前
|
负载均衡 前端开发 应用服务中间件
Tomcat的负载均衡和动静分离(与nginx联动)
总的来说,负载均衡和动静分离是提高Web应用性能的两个重要手段。通过合理的配置和使用,我们可以让Web应用更好地服务于用户。
138 21
|
4月前
|
负载均衡 Java 应用服务中间件
Tomcat与Nginx的负载均衡与动静分离技巧
总的来说,Tomcat和Nginx各有各的优点,在负载均衡和动静分离这两方面它们都有很好的应用。灵活使用这两个工具能够让Web应用具有更好的扩展性和用户体验。
118 14
|
4月前
|
负载均衡 前端开发 JavaScript
LVS-DR模式、keepalived、Nginx与Tomcat合作,打造动静分离,高效负载均衡与高可用性
为了采用这样的架构,你需要对LVS-DR、Keepalived、Nginx与Tomcat有一定的理解和掌握,同时也需要投入一些时间去研究和配置,但是一旦你把它运行起来,你将会发现,这一切都是值得的。
153 11
|
7月前
|
缓存 负载均衡 算法
有哪些方法可以提高硬件负载均衡设备的性能?
有哪些方法可以提高硬件负载均衡设备的性能?
214 58
|
6月前
|
应用服务中间件 nginx
Nginx进程配置指令详解
Nginx进程配置指令主要包括:`worker_processes`设置工作进程数;`worker_cpu_affinity`绑定CPU核心;`worker_rlimit_nofile`设置最大文件描述符数量;`worker_priority`设置进程优先级;`worker_connections`设置最大连接数;`daemon`控制守护进程模式;`master_process`启用主进程模式;`pid`设置PID文件路径;`user`指定用户和组;`error_log`配置错误日志。这些指令在`nginx.conf`中配置,用于优化和控制Nginx的运行行为。
263 10