• 首页
  • 脚本语言
    • php
    • python
    • javascript
  • 编程语言
    • c
    • c++
    • c#
    • sql
    • java
  • 前端
    • html
    • css
  • 服务器
    • apache
    • nginx
  • 数据库
    • mysql
    • oracle
  • 操作系统
    • linux
  • 杂七杂八
  • 关于我

时间:

当前位置:

  • 服务器
  • nginx
  • 用nginx做反向代理和负载均衡

欢 迎 光 临 My Blog!

用nginx做反向代理和负载均衡

2017-03-25 18:41:07

By: My

类别:nginx

1560

记录一下Nginx做反向代理和负载均衡,免得以后忘记。

nginx是一个很好的web服务器,用它做反向代理和负载均衡很简单,只需几句代码就搞定。

基本环境:3台Nginx服务器,Nginx1:192.168.1.31,Nginx2:192.168.1.32, Nginx3:192.168.1.33,其中Nginx1作为负载均衡器

软件版本:centos 6.8    php-fpm版本:5.6    nginx版本:1.6.2    mysql版本:5.6

配置步骤:

第一步:给3台Nginx服务器配置基础环境。

第二步:Nginx1做为反向代理服务器,故需要把对php的支持关闭。

第三步:在Nginx1服务器的Nginx配置文件中http{}内配置(反向代理)负载均衡器的upstream。

    upstream的配置格式:

upstream 自定义名称{
    server host名称1(可以是ip或者域名):端口 各种参数;
    server host名称2(可以是ip或者域名):端口 各种参数;
}

    我的配置为:

upstream mytest{
    server 192.168.1.32;
    server 192.168.1.33;
}

第四步:在Nginx1服务器的Nginx配置文件中server{}中配置proxy_pass

location / {
    proxy_pass http://mytest;
}

到这里,反向代理和负载均衡已经配置完了,就是这么简单。但还有一个明显的问题,就是Nginx2和Nginx3中获取到的客户端ip是反向代理器的ip,而不是用户真是的ip,怎么解决呢?这就要用到X-Forwarded-For了,配置也很简单,只需要把刚才配置的proxy_pass做一下修改。

location / {
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_pass http://mytest;
}

第五步:检测配置是否成功

在Nginx2的/usr/local/html下创建index.php文件

<?php
    echo 'Nginx2';

在Nginx3的/usr/local/html下创建index.php文件

<?php
    echo 'Nginx3';

检验192.168.1.32/index.php和192.168.1.33/index.php能否正常访问

如果能正常访问,多次浏览器打开192.168.1.31/index.php访问,如果Nginx2和Nginx3交替显示,则说明负载均衡配置成功

对于你是否配置成功,还可以通过Nginx2和Nginx3的访问日志来确认。

注:默认的nginx负载均衡策略是轮询的,当然我们可以自己更改,这里就不多说了。


标签: nginx

同 类 型 的 文 章:

用nginx做反向代理和负载均衡

2017-03-25

1560

直 接 搜 索

热 门 标 签

  • php 6
  • linux 2
  • phpstorm 0
  • mysql 0
  • laravel 1
  • 配置 0
  • javascript 0
  • apache 1
  • 快捷键 0
  • redis 0
  • nginx 1
  • centos 1
  • 命令 1
  • nosql 0
  • html 0
  • windows 1
  • composer 3
  • c++ 0
  • thinkphp 0
  • css 2
  • 编译 0
  • sql 4

最 热 博 文

关 于 本 博 客

2017-03-13 20:21:08

  • 2396

用nginx做反向代理和负载均衡

2017-03-25 18:41:07

  • 1560

ab压测的使用

2017-03-25 21:32:37

  • 1219

日 历

友 情 链 接

书生程序员

码农志

cyf的个人博客

瑾儿博客

懵圈网

疾风博客

风轻云淡

凉凉浅浅

志友的博客

醉红尘

北平不是京城

返 回 顶 部
  • 脚本语言
  • 编程语言
  • 前端
  • 服务器
  • 数据库
  • 操作系统
  • 杂七杂八

©2024 版权所有 鄂ICP备2024074657号-1