工作需要,研究了一下Nginx的反向代理实现负载均衡,网上搜了一下教程,大多含糊不清,所以写下这个,权当总结,方便日后查看,如果能恰好帮到一些需要的人,那就更好了

  先说需求,域名指向搭建了Nginx的服务器A,然后由A负载均衡到装有tomcat的服务器B和服务器C(不知道“由A负载均衡到B、C”这种说法对不对)

          

  先说环境:

      服务器ABC均为优麒麟(ubuntukylin)14.04

      服务器A装有Nginx1.6.3

      服务器B、C使用tomcat6

  准备工作:

      1.设置服务器A的IP为192.168.1.109,服务器B的IP为192.168.1.110, 服务器B的IP为192.168.1.111

      2.查看系统是否安装G++编译器  

g++ --version

      如果显示版本信息,则不需要安装。如果提示没有找到,则首先安装g++编译器

       

sudo apt-get install g++ 

      3.安装PCRE,PCRE库是实现Perl式正则表达式的基础

cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.35.tar.gz
tar -zxvf pcre-8.35.tar.gz
cd pcre-8.35
./configure
make
make install

      4.安装zlib库

cd /usr/local/src
wget http://zlib.net/zlib-1.2.8.tar.gz
tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make
make install

      5.安装Nginx

  Nginx有稳定版和主线版,我选用的是稳定版1.6.3,(http://nginx.org/en/download.html

 

cd /usr/local/src
wget http://nginx.org/download/nginx-1.6.3.tar.gz
tar -zxvf nginx-1.6..tar.gz
cd nginx-1.6.
./configure --prefix=/usr/local/nginx //这里表示将Nginx安装在/usr/local/nginx目录下
make
make install

  至此,Nginx安装完成,下面命令为启动nginx:

cd /usr/local/nginx/sbin
./nginx

启动之后,浏览器输入服务器A的IP:192.168.1.109,如果出现一下画面,则表示nginx安装成功

  

下面要配置反向代理负载均衡

配置服务器B和C,使得访问服务器B提示“this is page A”,访问服务器C提示“this is page B”

然后编辑nginx的配置文件,保存

user  comdev comdev;

worker_processes 10;

#error_log  logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info; #pid logs/nginx.pid; #最大文件描述符
worker_rlimit_nofile 51200; events
{
use epoll;
worker_connections 51200;
} http
{
include mime.types;
default_type application/octet-stream;
keepalive_timeout 120;
tcp_nodelay on;
upstream 192.168.1.109 {
server 192.168.1.110:8080;
server 192.168.1.111:8080;
} server
{
listen 80;
server_name 192.168.1.109; location / {
proxy_pass http://192.168.1.109;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}

重启nginx

方法参考:http://www.cnblogs.com/derekchen/archive/2011/02/17/1957209.html

然后再访问192.168.1.109,则会显示“this is page A”,刷新,则会显示“this is page B”

至此,nginx反向代理实现负载均衡的简单实例就完成了

当然,nginx还可配置N多内容,待我一一摸索然后写上来

整理自:

http://www.nginx.cn/install
http://blog.csdn.net/user_longling/article/details/44646465
http://developer.51cto.com/art/201407/446626.htm
http://zyan.cc/post/306/
http://www.php100.com/html/program/nginx/2013/0905/5525.html###
http://ari.iteye.com/blog/833153
http://www.cnblogs.com/derekchen/archive/2011/02/17/1957209.html

初识Nginx,简单配置实现负载均衡(ubuntu + Nginx + tomcat)的更多相关文章

  1. 使用nginx+docker配置https负载均衡

    了解Docker Docker是一个golang编写的开源轻量级的.可移植的.自给自足的容器,Docker主要应用在以下场景: web应用的自动化打包和发布: 自动化测试和持续集成.发布: 在服务型环 ...

  2. Nginx的两种负载均衡搭建(Tomcat版)

    前言 Nginx的负载均衡一般采用upstream来实现,但是,还有另一种文件拓展的方式,同样可以实现负载均衡. 一.一般的负载均衡 upstream my_server { server local ...

  3. Nginx 反向代理、负载均衡、页面缓存、URL重写、读写分离及简单双机热备详解

    大纲 一.前言 二.环境准备 三.安装与配置Nginx  (windows下nginx安装.配置与使用) 四.Nginx之反向代理 五.Nginx之负载均衡  (负载均衡算法:nginx负载算法 up ...

  4. Nginx 部署、反向代理配置、负载均衡

    Nginx 部署.反向代理配置.负载均衡 最近我们的angular项目部署,我们采用的的是Nginx,下面对Nginx做一个简单的介绍. 为什么选择Nginx 轻:相比于Apache,同样的web服务 ...

  5. Nginx配置及负载均衡

    转载:http://www.cnblogs.com/jingmoxukong/p/5945200.html nginx简易教程   目录 Nginx  概述  安装与使用  nginx 配置实战  参 ...

  6. Nginx反向代理实现负载均衡配置图解

    Nginx反向代理实现负载均衡配置图解 [导读] 负载均衡配置是超大型机器需要考虑的一些问题,同时也是数据安全的一种做法,下面我来介绍在nginx中反向代理 负载均衡配置图解,大家可参考本文章来操作. ...

  7. Nginx做NodeJS应用负载均衡配置实例

    这篇文章主要介绍了Nginx做NodeJS应用负载均衡配置实例,本文直接给出配置实例,需要的朋友可以参考下. 负载均衡可以把用户的请求分摊到多个服务器上进行处理,从而实现了对海量用户的访问支持.负载均 ...

  8. 服务网关Ocelot 入门Demo系列(01-Ocelot极简单Demo及负载均衡的配置)

    [前言] Ocelot是一个用.NET Core实现并且开源的API网关,它功能强大,包括了:路由.请求聚合.服务发现.认证.鉴权.限流熔断.并内置了负载均衡器与Service Fabric.Butt ...

  9. Linux 笔记 - 第二十章 配置 Nginx 反向代理和负载均衡

    一.简介 由于 Nginx 的反向代理和负载均衡功能经常被提及,所以将这两个功能单独提出来进行讲解. Nginx 其实仅仅是作为 Nginx Proxy 反向代理使用的,因为这个反向代理功能表现的效果 ...

随机推荐

  1. React Native填坑之旅--class(番外篇)

    无论React还是RN都已经迈入了ES6的时代,甚至凭借Babel的支持都进入了ES7.ES6内容很多,本文主要讲解类相关的内容. 构造函数 定义侦探类作为例子. ES5的"类"是 ...

  2. sshpass批量执行操作

    while read line do ./sshpass -p 密码 ssh root@$line “ls” done<./backup while read line ;do /usr/bin ...

  3. SPOJ DISUBSTR 后缀数组

    题目链接:http://www.spoj.com/problems/DISUBSTR/en/ 题意:给定一个字符串,求不相同的子串个数. 思路:直接根据09年oi论文<<后缀数组——出来字 ...

  4. SQL中not and or优先级问题

    SQL中 not  and or优先级问题 刚刚在项目中遇到这样一个问题,SQL语句如下: 我想要的结果的条件是:1. LIBRARY_ID=1 或者 LIB_ID=1 2.STATUS=3 但是结果 ...

  5. [LeetCode OJ] Symmetric Tree

    Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). For e ...

  6. LDA-线性判别分析(一)

    本来是要调研 Latent Dirichlet Allocation 的那个 LDA 的, 没想到查到很多关于 Linear Discriminant Analysis 这个 LDA 的资料.初步看了 ...

  7. CFBundleName系列参数的含义

    顺带讲一下其他这些选项表示什么意思: CFBundleName: CFBundleName指定了该束的简称.简称应该小于16个字符并且适合在菜单和“关于”中显示.通过把它加入到适当的.lproj子文件 ...

  8. python idle 错误 subprocess didn&amp;#39;t make connection

    今天打开python idle不反应.然后通过网上搜索让我在安装文件夹下点击idle.py 弹出如图所看到的的错误,进行了非常多尝试.任然没有得到解决.可是在尝试过程中发现了大家所说问题所在都是由于新 ...

  9. iOS&#183;官方文档译文框架源码注解

    导语

  10. 【STM32H7教程】第12章 STM32H7的HAL库框架设计学习

    完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第12章       STM32H7的HAL库框架设计学 ...