nginx反向代理:

方案

  使用4台RHEL7虚拟机,其中一台作为Nginx代理服务器,该服务器需要配置两块网卡,IP地址分别为192.168.4.5和192.168.2.5,两台Web服务器IP地址分别为192.168.2.100和192.168.2.200。客户端测试主机IP地址为192.168.4.100。如图所示。

web1和web2简单的安装httpd开启服务作为后端的Web服务器,两台机需要关闭防火墙(httpd安装过程略)

nginx服务器修改配置文件,添加服务器池,实现反向代理(nginx安装过程略)

1)修改/usr/local/nginx/conf/nginx.conf配置文件

1)修改/usr/local/nginx/conf/nginx.conf配置文件

  1. [root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
  2. .. ..
  3. http {
  4. .. ..
  5. #使用upstream定义后端服务器集群,集群名称任意(如webserver)
  6. #使用server定义集群中的具体服务器和端口
  7. upstream webserver {
  8. server 192.168.2.100:80;  #web1服务器地址
  9. server 192.168.2.200:80;  #web2服务器地址
  10. }
  11. .. ..
  12. server {
  13. listen        80;
  14. server_name localhost;
  15. location / {
  16. #通过proxy_pass将用户的请求转发给webserver集群
  17. proxy_pass http://webserver;
  18. }
  19. }

重启nginx,client(192.168.4.100)访问nginx代理服务器(192.168.4.5)地址,代理转到后端web服务器(192.168.2.100/192.168.2.200)

[root@client ~]# curl http://192.168.4.5

服务器集群池属性设置

weight可以设置后台服务器的权重,max_fails可以设置后台服务器的失败次数,fail_timeout可以设置后台服务器的失败超时时间。

upstream webserver {

  server 192.168.2.100 weight=1 max_fails=1 fail_timeout=30;  #weight设置服务器权重值,默认值为1#max_fails设置最大失败次数

  server 192.168.2.200 weight=2 max_fails=2 fail_timeout=30;  #fail_timeout设置失败超时时间,单位为秒

  server 192.168.2.101 down;  #down标记服务器已关机,不参与集群调度

}

nginx TCP/UDP调度器

1、部署nginx服务器

编译安装必须要使用--with-stream参数开启4层代理模块。

  1. [root@proxy ~]# yum –y install gcc pcre-devel openssl-devel        //安装依赖包
  2. [root@proxy ~]# tar -xf nginx-1.12.2.tar.gz
  3. [root@proxy ~]# cd nginx-1.12.2
  4. [root@proxy nginx-1.12.2]# ./configure \
  5. > --with-http_ssl_module                         //开启SSL加密功能
  6. > --with-stream                                 //开启4层反向代理功能
  7. [root@proxy nginx-1.12.2]# make && make install     //编译并安装

2、配置Nginx服务器,添加服务器地址池,实现TCP/UDP反向代理功能

1)修改/usr/local/nginx/conf/nginx.conf配置文件

  1. [root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
  2. stream {
  3. upstream backend {
  4. server 192.168.2.100:22;            //后端SSH服务器的IP和端口
  5. server 192.168.2.200:22;
  6. }
  7. server {
  8. listen 12345;                    //Nginx监听的端口
  9. proxy_connect_timeout 1s;
  10. proxy_timeout 3s;
  11. proxy_pass backend;
  12. }
  13. }
  14. http {
  15. .. ..
  16. }

Nginx反向代理,Nginx的TCP/UDP调度器以及Nginx常见问题处理的更多相关文章

  1. 二十.Nginx反向代理、Nginx的TCP/UDP调度器、Nginx常见问题处理

    proxy client web1 web2 1.nginx反向代理   使用Nginx实现Web反向代理功能,实现如下功能:   后端Web服务器两台(web1 192.168.2.100 web2 ...

  2. nginx反向代理实现均衡负载及调度方法

    http upstream配置参数: ngx_http_upstream_module模块将多个服务器定义成服务器组,而由proxy_pass, fastcgi_pass等指令进行引用 upstrea ...

  3. Nginx的TCP/UDP调度器

    安装nginx [root@proxy ~]# yum –y install gcc pcre-devel openssl-devel //安装依赖包 [root@proxy ~]# .tar.gz ...

  4. 八、Nginx的TCP/UDP调度器

    nginx 1.9后才可以调用其他应用 1.9前只能调用web 部署nginx服务器----配置----起服务.验证 部署nginx服务器: [root@proxy ~]# yum –y instal ...

  5. iperf测试流量转发(nginx反向代理tcp/udp)

    一.准备工作 服务器1:192.168.33.102     搭建nginx服务,作为反向代理的中转站 服务器2:192.168.33.103    nginx要反向代理的服务器 服务器3:192.1 ...

  6. nginx反向代理 和部分优化

    准备环境  : 两台web服务     安装http  写入文档  并启动 yum -y install httpd echo "192.168.2.100" > /var/ ...

  7. nginx 反向代理时丢失端口的解决方案

        今天,配置nginx反向代理时遇到一个问题,当设置nginx监听80端口时转发请求没有问题.但一旦设置为监听其他端口,就一直跳转不正常:如,访问欢迎页面时应该是重定向到登录页面,在这个重定向的 ...

  8. 服务器上nginx反向代理的配置

    Nginx不但是一款高性能的Web服务器,也是高性能的反向代理服务器.下面简单说说Nginx的反向代理功能. 反向代理是什么? 反向代理指以代理服务器来接受Internet上的连接请求,然后将请求转发 ...

  9. (总结)Linux服务器上最简单的Nginx反向代理配置

    Nginx不但是一款高性能的Web服务器,也是高性能的反向代理服务器.下面简单说说Nginx的反向代理功能. 反向代理是什么? 反向代理指以代理服务器来接受Internet上的连接请求,然后将请求转发 ...

随机推荐

  1. 【UVALive-7040F】Color

    题目大意:给定一个长度为 N 的序列,现有 M 种颜色,选出一些颜色对这个序列进行染色,要求相邻元素颜色不相同.求最终序列恰好有 K 种不同颜色的染色方案数,结果对1e9+7取模. 题解:二项式反演 ...

  2. C# 委托、lambda表达式和事件 (7) 持续更新

    引用方法 在C++,函数指针只不过是一个指向内存位置的指针,它不是类型安全的. C# 委托 定义了返回类型和参数的类型.委托类包含对方法的引用,还可以包含多个方法引用. 定义委托 public del ...

  3. 第一份c语言作业

    2.1 你对软件工程专业或者计算机科学与技术专业了解是怎样? •答案: 软件工程专业是个年轻的专业,紧跟这个信息化的新时代.我学习它是因为感兴趣,经过一周的学习,我了解了一些 该专业课程主要是c语言程 ...

  4. 《Redis 设计与实现》读书笔记(二)

    单机数据库实现 九.数据库 1.服务器中的数据库 一个redis服务器保存多个数据库. struct redisServer { //一个数组,多个数据库 redisDb *db; } 当执行sele ...

  5. API接口防止参数篡改和重放攻击

    {近期领导要求我对公司业务的支付类的ocr接口做研究,是否存在支付接口重放攻击,so.....} API重放攻击(Replay Attacks)又称重播攻击.回放攻击.他的原理就是把之前窃听到的数据原 ...

  6. Beep调用系统声音

    using System.Runtime.InteropServices; 引用命名空间 [DllImport("kernel32.dll")]public   static   ...

  7. 【git】git中使用https和ssh协议的区别以及它们的用法

    git可以使用四种主要的协议来传输资料: 本地协议(Local),HTTP 协议,SSH(Secure Shell)协议及 git 协议.其中,本地协议由于目前大都是进行远程开发和共享代码所以一般不常 ...

  8. 1 Java面向对象

    0 工具 在分析面向对象时最好采用UML图进行分析设计 1 Java面向对象的特点 java采用面向对象的方法设计程序主要体现在:对象有属性和方法,事件的发生是对象间的信息交互产生的即程序中的get ...

  9. luogu P4194 矩阵

    嘟嘟嘟 先二分. 令二分的值为\(mid\),则对于每一行都要满足\(|\sum_{i = 1} ^ {n} (A_{ij} - B_{ij})|\),把绝对值去掉,就得到了\((\sum_{i = ...

  10. Mybatis源码学习之parsing包(解析器)(二)

    简述 大家都知道mybatis中,无论是配置文件mybatis-config.xml,还是SQL语句,都是写在XML文件中的,那么mybatis是如何解析这些XML文件呢?这就是本文将要学习的就是,m ...