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. [Web Component] Allow External Styling of a Web Component's Shadow DOM

    The Shadow DOM protects your components from style conflicts. The same protection also makes it hard ...

  2. Java基础知识学习01

    0 项目,包,文件,类 Mytest是自己建的java工程,包含src和JRE System Libery.其中src是存放自己的代码的地方,JRE包含程序运行时所需要的各种文件:在src下包含Tes ...

  3. 上下文管理器和else块

    一.if 语句之外的 else块 else 子句不仅能在 if 语句中使用,还能在for.while和try语句中使用. (1)for :仅当 for 循环运行完毕时(即 for 循环没有被break ...

  4. slice(start, [end]) 选取一个匹配的子集 与原来的slice方法类似

    slice(start, [end]) 概述 选取一个匹配的子集 与原来的slice方法类似 参数 startIntegerV1.1.4 开始选取子集的位置.第一个元素是0.如果是负数,则可以从集合的 ...

  5. APPLICATION FAILED TO START 报错

    错误一 原因@Service 忘记加了

  6. Codevs 2505 上学路线 (组合数学)

    2505 上学路线 时间限制: 1 s 空间限制: 64000 KB 题目等级 : 钻石 Diamond 题目描述 Description 因为是学生,所以显然小A每天都要上学.小A所在的城市的道路构 ...

  7. codeforces#1159D. The minimal unique substring(打表找规律+构造)

    题目链接: https://codeforces.com/contest/1159/problem/D 题意: 构造一个长度为$n$的$01$串,最小特殊连续字串的长度为$k$ 也就是,存在最小的$k ...

  8. gitolite 代码访问控制

    gitolite可用于代码访问控制,这里汇总一下git相关的内容. git quick start:创建git仓库 TortoiseGit:可视化git操作 egit eclipse插件:新版的IDE ...

  9. 20175329&20175313&20175318 2019-2020 《信息安全系统设计基础》实验一

    详见 https://www.cnblogs.com/xiannvyeye/p/11792152.html#%E4%B8%80%E5%AE%9E%E9%AA%8C%E5%86%85%E5%AE%B9

  10. Linux设备驱动程序 之 ioctl

    ioctl 除了读取和写入设备之外,大部分驱动程序还需要另外一种能力,即通过设备驱动程序执行各种类型的硬件控制,通常这种需求使用ioctl方法支持,该方法实现了同名的系统调用: 在用户空间,ioctl ...