• Nginx 反向代理,负载均衡,动静分离和高可用 实操


    反向代理

    大致介绍

    nginx的这几个特性都是通过修改配置文件nginx.conf 来实现的.
    要通过nginx 来实现反向代理,实际 就是 客户端浏览器 请求 nginx ,nginx 将该请求转发给另外一个服务器比如tomcat。tomcat服务器处理完请求后,将结果返回给nginx,nginx然后再将结果返回给客户端.

    tomcat服务器的准备

    我这边的做法是在linux上面简单的部署一个tomcat(下载解压即可),tomcat启动的端口默认是8080。 然后用firewall 添加8080端口。firewall-cmd --add-port=8080/tcp --permanent
    然后启动.
    启动方式: 进入tomcat解压的bin目录. 例如:
    进入该bin目录:
    在这里插入图片描述
    执行./startup.sh 启动服务
    在这里插入图片描述

    nginx的配置修改

    在这里插入图片描述
    解释下截图内容:
    1.server_name 是nginx服务器的地址,要改成对应的ip路径。
    2.location 可以理解为路由。 后面的 / 表示拦截所有的请求。 也可以改成 /test/.表示拦截所有的包含有/test/的请求。proxy_pass 表示将拦截到的请求转发到具体的服务器中。路径是 127.0.0.1:8080. 也就是本机的tomcat服务.
    配置修改完成后,需要重新加载下nginx配置文件。
    在/usr/local/nginx/sbin目录
    执行**./nginx -s reload** 。 然后在浏览器 输入 ip:80 就可以访问tomcat了。
    正常是需要 ip:8080才能访问tomcat。 如果80端口能访问tomcat,说明实现了反向代理.
    如果出现了问题,可以评论讨论.

    负载均衡

    大致介绍

    现实系统中,我们会采用多个服务器来分摊请求,这样会减少每个服务器的压力。并且如果某个服务器挂了,也不会影响整个系统的运转.本次模拟是 安装两个tomcat ,然后将第二个的端口改下,比如改成8081.在nginx配置文件配置下两个tomcat的ip和端口。并设置对应的策略。那么同一个请求,重复请求多次,请求会根据配置的策略分发到不同的tomcat服务器

    准备工作

    采用 cp 命令复制下tomcat目录,进入复制tomcat 目录下面,找到config目录。在里面找到server.xml文件。用vim打开,修改下对应的端口.
    在这里插入图片描述
    修改完后,启动。

    nginx配置修改

    在/usr/local/nginx/conf 目录找到 nginx.conf文件。用vim打开
    在http 目录下面,建一个 server 节点和 upstream节点.
    在这里插入图片描述

    动静分离

    简单介绍

    动静分离可以理解为 将不同的请求根据一些策略转发到不同的服务器进行处理.即对请求流量进行处理。和负载均衡是同一个原理。只是配置修改的点不同。可以参考下截图修改配置

    配置修改

    在这里插入图片描述
    在server 里面配置多个location节点,每个location拦截不同的url请求,然后转发到不同的路径处理.

    高可用

    简单介绍

    高可用主要是防止 出现nginx 宕机导致整个服务不可用。具体的实现是配置多台nginx服务器。比如配置两太nginx服务器,一台备用(正常不接受请求,只有主 nginx实例挂了无法提供服务,此时该服务器就可以提供服务)

    实现原理

    采用 keepalived 软件完成。这个软件会监控多台nginx服务器,如果发下主nginx不可用,就将请求转发到备nginx服务器。

    具体操作

    1.安装keepalived软件
    两台nginx服务器都需要安装.
    yum install keepalived -y
    2.配置文件修改
    安装完成后,会在/etc生产一个keepalived文件夹,里面有个keepalived.conf配置文件。
    此时需要修改该配置文件。
    其中主nginx的配置文件如下:
    在这里插入图片描述
    对应的脚本文件的内容需要放置在/usr/local/src/下的 nginx_check.sh文件中。文件内容如下(主要是检测nginx 是否是能启动):
    在这里插入图片描述

    从服务器的keepalived.conf修改如下:
    在这里插入图片描述
    查看网卡的方式
    在这里插入图片描述

    以上nginx的介绍就完了。如果需要更加详细的了解。建议初中学者可以观看尚硅谷Nginx视频。还不错。地址:https://www.bilibili.com/video/BV1zJ411w7SV?p=15

  • 相关阅读:
    Mysql高级——数据库设计规范(2)
    实践GoF的设计模式:迭代器模式
    【JavaEE】文件操作
    接口测试和性能测试的区别
    微服务开发与实战Day11 - 微服务面试篇
    CSS(上)
    无ansible-core安装ansible
    Elasticsearch:了解人工智能搜索算法
    想跳槽?你先看看(MQ、ZK、Nginx、Kafk)等分布式技术你都会吗?
    web前端期末大作业 HTML+CSS+JavaScript仿安踏
  • 原文地址:https://blog.csdn.net/echohuangshihuxue/article/details/124917488