`
wsxuwenyu
  • 浏览: 1471 次
社区版块
存档分类
最新评论

nginx,搭建负载均衡

阅读更多
留意nginx的负载均衡

nginx中可以通过设定upstream 来使得单机器想多机器的转发

upstream mydomain {
    server server1:80;
    server server2:80;
    server server3:80;
}

server{
  listen 80;
  server_name www.mydomain.com;
  location / {
    proxy_pass  mydomain ;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

通过访问我的域名,可以将请求代理到mydomain中,mydomain可以将请求分别转发到下面的三个服务器的端口中


这里很适合用于前后分离的项目

前端资源(js,css,html,jpg...)可以通过nginx配置到自己的特别路径中,后端请求就走mydomian

location ~* ^.+\.(js|css|less)$ {  ##这里走前端资源
    root /path/frontcode;
}

location / {     ##这里走后端资源
proxy_pass  mydomain ;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
一般来说,应用的压力重点都在后端,所以能很好的解决后端的压力。


这了又可以演化一步,
假如要请求很多的图片资源,我们又可以将图片资源请求到图片服务器中,

location ~* ^.+\.(jpg|jpeg|gif|png|ico|txt|fla|swf|zip)$ {
    root /path/imgpath;
}

至于请求图片资源,我们可以用一个独立的服务器来部署,也可以写一个简单的servlet来代理图片,可以重新配置一个mydomain4img,转发到其他的图片服务器中。




扯远了,继续upstream

upstream也可以进一步设置负载均衡,
least_conn;----最少链接策略,
ip_hash;-----相同的ip解析到相同的机器
weight------设置每个机器的权重
还有一个hash,不过网上资料显示hash插件可能需要memcache插件支持,本人没有测过

英语好的可以翻看nginx的官网,上面也有介绍以上几种用法,甚至更多。


当然,现在由于国内的各个运营商混乱以及强制插入js和广告,导致我们在自己应用中走ssl,nginx可以配置走ssl

server {
listen 443;
server_name mydomian.com;
ssl on;
ssl_certificate sslkey/crtname.crt; (证书公钥)
ssl_certificate_key sslkey/keyname.key; (证书私钥)
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:-RC4+RSA:+HIGH:+MEDIUM:!EXP;
ssl_prefer_server_ciphers on;
location / {
   ....#自己业务逻辑
}
}

nginx还解释了,由于一次ssl的握手消耗的cpu比较大,导致每次request请求都会带来cpu的消耗,所以就有两种策略,设置keepalive 以及设置ssl的session cache。
http {
    ssl_session_cache   shared:SSL:10m;
    ssl_session_timeout 10m;

    server {
        listen              443 ssl;
        server_name         www.example.com;
        keepalive_timeout   70;

        ssl_certificate     www.example.com.crt;
        ssl_certificate_key www.example.com.key;
        ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers         HIGH:!aNULL:!MD5;
        ....
ssl_protocols和ssl_ciphers可以为默认,也可以用ssl运营商给过来的设置


最后:多读书,就能多想出解决方案。
分享到:
评论

相关推荐

    基于nginx tcp负载均衡 + redis的集群聊天服务器,网络层使用muduo库搭建,数据库使用MySQL.zip

    基于nginx tcp负载均衡 + redis的集群聊天服务器,网络层使用muduo库搭建,数据库使用MySQL 基于nginx tcp负载均衡 + redis的集群聊天服务器,网络层使用muduo库搭建,数据库使用MySQL 基于nginx tcp负载均衡 + ...

    nginx负载均衡配置

    nginx+tomcat配置实现负载均衡,亲测可用

    ngnix搭建负载均衡redis-session共享

    本篇文章将深入探讨如何利用Nginx搭建负载均衡,并结合Redis实现session共享,以确保用户在集群中的不同服务器之间切换时,其session信息能够一致。 首先,我们需要理解Nginx的负载均衡策略。Nginx支持多种负载均衡...

    Nginx搭建负载均衡集群的实现

    本文将深入探讨如何使用Nginx搭建负载均衡集群,并介绍Nginx支持的多种负载均衡策略。 首先,我们来看一下实验环境:一台作为负载均衡器的服务器(youxi1,IP:192.168.5.101),两台作为后端主机的服务器(youxi2...

    Nginx+Tomcat搭建负载均衡,实现网站请求的分发

    Nginx+Tomcat搭建负载均衡,实现网站请求的分发 Nginx+Tomcat搭建负载均衡是实现网站请求的分发的常见解决方案。以下是该解决方案的详细知识点说明: 一、负载均衡的概念 负载均衡是指将网络请求分配到多个服务器...

    Windows+Nginx+Tomcat搭建负载均衡和集群的tomcat压缩包

    本教程将探讨如何在Windows环境中利用Nginx作为反向代理服务器,与多个Tomcat实例配合,搭建一个负载均衡和集群的系统。这个压缩包包含多个版本的Tomcat,即qdky-tomcat-6.0.44.6、qdky-tomcat-6.0.44.5、qdks-...

    nginx负载均衡.docx

    在阿里云服务器上搭建Nginx负载均衡,可以有效地分发请求到多台后端服务器,降低单台服务器的压力,提高服务的稳定性和可靠性。 首先,我们需要准备一台阿里云服务器,操作系统推荐使用CentOS 7.6。在进行负载均衡...

    Nginx入门到精通搭建高可用集群负载均衡

    Nginx 负载均衡策略** - **轮询**:每个请求按顺序分配,down 掉的服务器会被自动剔除。 - **权重分配**:根据服务器性能分配不同比例的请求。 - **IP Hash**:基于客户端 IP 的哈希结果分配,确保同一客户端...

    nginx、负载均衡

    使用nginx搭建web负载均衡,方便使用,简单,快捷。。

    Nginx负载均衡搭建及配置技术

    Nginx 支持多种操作系统,包括 CentOS 7.2,本文将介绍如何在 CentOS 7.2 上搭建 Nginx 负载均衡配置。 在开始之前,确保系统网络正常、yum 可用,并关闭 iptables 和 selinux,因为这些因素可能对 Nginx 的安装和...

    nginx+tomcat搭建负载均衡

    在IT行业中,构建高效、可扩展的Web服务是至关重要的,而"nginx+tomcat搭建负载均衡"就是一种常见的解决方案。这个主题涉及到两个主要组件:Nginx和Tomcat,以及如何利用它们来实现负载均衡。 Nginx是一款高性能的...

    suse11下Nginx负载均衡安装流程

    ### SUSE 11 下 Nginx 负载均衡安装流程详解 #### 一、前言 在现代网络环境中,随着网站访问量的增加,单一服务器往往难以满足高并发请求的需求,这时就...希望本篇指南能帮助您顺利完成Nginx负载均衡的搭建工作。

    Nginx+Tomcat负载均衡配置教程

    ### Nginx+Tomcat负载均衡配置教程 #### 一、Nginx 安装与配置 **1. 下载并安装Nginx** - **下载Nginx**:前往Nginx官方网站下载适合您操作系统的最新版本。推荐下载稳定版以确保运行稳定。 - **解压文件**:将...

    Nginx+Tomcat9搭建负载均衡实例,解压即可运行

    【Nginx+Tomcat9搭建负载均衡实例】 在现代Web服务架构中,为了提高系统的可用性和性能,通常会采用负载均衡技术。本实例将详细讲解如何使用Nginx作为反向代理和负载均衡器,结合Tomcat9作为Java应用服务器来搭建一...

    nginx 搭建,使用,反向代理,负载均衡,高可用

    3. **负载均衡器的高可用**: 可以使用另一台 Nginx 或其他负载均衡器作为前端,对后端的 Nginx 实例进行负载均衡,提高整体系统的稳定性。 **软负载与硬负载** 软负载指的是负载均衡器不改变原始请求的源 IP 和...

    Nginx负载均衡模式测试附件

    在测试Nginx的负载均衡时,通常会搭建多个模拟服务器(如`testserver`),通过修改Nginx配置文件,设置不同的负载均衡策略,然后使用`curl`或浏览器进行请求,观察和分析响应结果,以验证配置的有效性。 在附件中,...

Global site tag (gtag.js) - Google Analytics