前提:web服务器框架已搭建好lamp/lnmp),已配置好虚拟主机名(这个的配置在上几章中有写)。

nginx做负载均衡主要的模块是upstream.

1、在新的机器上安装nginx

创建用户nginx和组nginx

解压

进入目录

编译:

./configure --user=nginx --group=nginx --prefix=/application/nginx1.6.2 --with-http_stub_status_modele --with-http_ssl_module

make

make install

创建软连接

启动

检查端口lsof -i:80

2、修改配置文件

在http标签内,增加upstream 配置。并在server标签中,修改location。(可参考官网的帮助文档http://nginx.org/en/docs/stream/ngx_stream_upstream_module.html)

upstream的配置可以是ip,或虚拟主机域名,或域名+端口

需要注意的是,在负载均衡过程中,对不通的web服务器转发请求的概率是有一定的算法的。

但是在像会话保持的问题上,比如访问其中一个web服务器时时登录状态,突然转到另一个服务器可能就会不登陆。这时可用ip_hash算法.保证每次同一个ip访问的都是同一个web。但是这种方法不太好,会导致负载不均

我们常用的方法时session共享,或放在用户本地。

3、本地host解析要解析到负载均衡机器上(这台机器)。

4、如果web服务器自己有多个虚拟主机,一个web服务器上有多个网站部署。nginx代理转发请求给对应的upstream中的ip后,不能确定访问的哪个域名,加生proxy_set_header 参数,就告诉服务器,我请求的即时当前我要i提交的这个域名

举例:

web服务器A上有2个基于域名的虚拟主机:www.111.com   bbs.111.com

web服务器B上有2个基于域名的虚拟主机:www.111.com   bbs.111.com

现在负载代理的机器上配置有nginx,准备做负载均衡。上面步骤2中的server标签有2个,一个配置的www.1111.com一个配置的bbs.1111.com

此时如果客户端要访问bbs.1111.com,提交请求到web服务器A或者web服务器B,再访问web服务器A或者B的时候,因为web服务器上有2个虚拟主机,她其实是分不清要去访问哪个的。这时候就需要再nginx代理机器上的server/location中添加上参数proxy_set_header ,告诉web服务器,我要访问的时bbs.111.com而不是www.111.com

Linux:nginx负载均衡的更多相关文章

  1. Nginx负载均衡搭建(Window与Linux)

    windows上搭建nginx负载均衡 1.准备几台http服务器软件,这里选用一台apache一台tomcat apache(windows)下载链接:https://www.apachehaus. ...

  2. Linux(7)- Nginx.conf主配置文件、Nginx虚拟主机/访问日志/限制访问IP/错误页面优化、Nginx反向代理、Nginx负载均衡

    一.Nginx.conf主配置文件 Nginx主配置文件conf/nginx.conf是一个纯文本类型的文件,整个配置文件是以区块的形式组织的.一般,每个区块以一对大括号{}来表示开始与结束. 核心模 ...

  3. Nginx系列篇二:linux搭建Nginx负载均衡

    建议先搭建好Nginx环境 可阅读--->Linux中搭建Nginx 1.准备好三台服务器[标配] 一.nginx负载均衡服务器:192.168.102.110,配置好Nginx 二.tomca ...

  4. Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx)

    Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx) 一丶集群和Nginx反向代理 ...

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

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

  6. linux下nginx负载均衡部署

    nginx负载均衡部署 Nginx("engine x") 是一个高性能的 HTTP 和 反向代理 server,也是一个 IMAP/POP3/SMTP 代理server. Ngi ...

  7. Linux笔记 #09# Tomcat多开以及Nginx负载均衡简单例子

    索引 Tomcat怎样多开.. 1.添加环境变量(最基础.关键的步骤!) 2.改catalina.sh 3.改相关端口 Nginx负载均衡简单例子 Tomcat怎样多开.. 演示一下如何开两个(开n个 ...

  8. Linux配置Nginx负载均衡

    nginx配置负载均衡其实很简单,一直还以为负载均衡是个很高端人士玩的 首先先了解下负载均衡,假设一个场景,如果有1000个客户同时访问你服务器时,而你只有一台服务器的Nginx,且只有一个MySQL ...

  9. Linux之nginx负载均衡

    Nginx负载均衡概述 Web服务器,直接面向用户,往往要承载大量并发请求,单台服务器难以负荷,我使用多台WEB服务器组成集群,前端使用Nginx负载均衡,将请求分散的打到我们的后端服务器集群中,实现 ...

  10. Linux架构之Nginx 负载均衡会话保持

    案例No.50:Nginx负载均衡会话保持 前期准备环境 web01.web02 (web01.web02.db01.nfs01都要优化基本源)[root@web01 ~]# vim /etc/yum ...

随机推荐

  1. java 异常二

    一 捕获异常try…catch…finally 捕获:Java中对异常有针对性的语句进行捕获,可以对出现的异常进行指定方式的处理 捕获异常格式: try { //需要被检测的语句. } catch(异 ...

  2. Hyperledger Fabric 部署

    Hyperledger Fabric 部署 Hyperledger Fabric需要使用Docker.Go环境. Docker环境安装 Docker环境安装 直接查看这一篇,安装好之后将当前用户非ro ...

  3. 用它5分钟以后,我放弃用了四年的 Flask

    有一个非常简单的需求:编写一个 HTTP接口,使用 POST 方式发送一个 JSON 字符串,接口里面读取发送上来的参数,对其中某个参数进行处理,并返回. 如果我们使用 Flask 来开发这个接口,那 ...

  4. Salesforce学习笔记之吐槽

    迄今感到的几个不方便 1. SOQL里没有SELECT * ,只好根据参考手册和用vs code的一个插件Schema Explorer来辅助生成SELECT语句. 2. SOQL不支持注释,Deve ...

  5. Testflight无法接入App Store connect,对TF上架的应用会造成什么影响吗?

    感觉进入8月份以来,苹果也进入了多事之秋.不仅是App Store被下架,testflight也频频出问题,很多人反馈出现了Testflight无法接入App Store connect的问题,我们之 ...

  6. 反制面试官 | 14张原理图 | 再也不怕被问 volatile!

    反制面试官 | 14张原理图 | 再也不怕被问 volatile! 悟空 爱学习的程序猿,自主开发了Java学习平台.PMP刷题小程序.目前主修Java.多线程.SpringBoot.SpringCl ...

  7. 什么?Java9这些史诗级更新你都不知道?Java9特性一文打尽!

    「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...

  8. bluetoothctl命令提示No default controller available

    在学习bluetoothctl命令时,执行bluetoothctl,然后执行show,提示No default controller available. 1. 执行hciconfig,发现有hci0 ...

  9. dpkg:处理 xxx (--configure)时出错解决办法

    1.$ sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old //现将info文件夹更名2.$ sudo mkdir /var/lib/dpkg/info ...

  10. cpu相关信息(进程、线程、核...)

    cpu的相关信息. 1.cpu 1.1 物理cpu 实际Server中插槽上的CPU个数.物理cpu数量,可以数不重复的 physical id 有几个 1.1.1 查看物理CPU的个数 cat /p ...