热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Day56Nginx负载均衡下

Day56Nginx负载均衡-下1.1负载均衡   (http层OSI七层)协议 https    (TCP层OSI四层)端口http{   upstreamname{      

Day 56 Nginx负载均衡-下

1.1 负载均衡

    (http层 OSI七层) 协议  https

     (TCP层 OSI四层) 端口

http{

    upstream name {

        ip_hash;

        server 172.16.1.7 weight=1;

        server 172.16.1.8 max_fail=2 fail_timeout=10s max_cOnns=1000;

    }

}

proxy_pass http://name;

1.2 session 会话(服务端)

    代码默认写的session存储在WEB服务器本地,解决session会话

    会话保持        ->  ip_hash

    会话共享        ->  redis、MySQL

    存客户端        ->  浏览器

COOKIE(客户端)

1.3 负载均衡

    F5   硬件

    LVS  软件

    Haproxy  支持四层和七层

    Nginx 仅支持7层

1.4     如何配置Nginx4层负载均衡

    通过访问负载均衡的5555端口,实际是后端的web01的22端口在提供服务。

    通过访问负载均衡的6666端口,实际是后端的mysql的3306端口在提供服务。

   The ngx_stream_core_module module is available since version 1.9.0. This module is not built by default, it should be enabled with the --with-stream configuration parameter.

worker_processes auto;

error_log /var/log/nginx/error.log info;

events {

    worker_connections  1024;

}

stream {

    upstream backend {

        hash $remote_addr consistent;

        server backend1.example.com:12345 weight=5;

        server 127.0.0.1:12345            max_fails=3 fail_timeout=30s;

        server unix:/tmp/backend3;

    }

    server {

        listen 12345;

        proxy_connect_timeout 1s;

        proxy_timeout 3s;

        proxy_pass backend;

    }

}

 

[root@lb01 ~]# mkdir -p /etc/nginx/conf.c

[root@lb01 ~]# vim /etc/nginx/nginx.conf

----在events层下面,http层上面

include  /etc/nginx/conf.c/*.conf;

 

[root@lb01 ~]# cd /etc/nginx/conf.c/

[root@lb01 conf.c]# vim stream.conf

[root@lb01 conf.c]# cat stream.conf

stream {

    #1.定义虚拟资源池

    upstream ssh {

       server 172.16.1.7:22;

    }

 

    upstream mysql {

       server 172.16.1.51:3306;

    }

    #2.调用虚拟资源池

    server {

       listen 5555;

       proxy_pass ssh;

    }

    server {

       listen 6666;

       proxy_pass mysql;

    }

}

[root@lb01 conf.c]# systemctl restart nginx

flag-------------------------------

系统          服务         地址

CentOS7.5   proxy         10.0.0.5

CentOS7.5   Nginx        10.0.0.7

CentOS7.5   TOmcat     10.0.0.7

1.4.1 在10.0.0.7准备静态资源

[root@web01 conf.d]# cat images.conf

server{

        listen 80;

        server_name ds.oldboy.com;

        root /soft/code;

        index index.html;

 

        location ~* .*\.(png|jpg|gif)$ {

                root /soft/code/images;

        }

}

1.4.2 准备目录, 以及静态相关图片

[root@web01 ~ ]# mkdir -p /soft/code/images/

[root@web01 ~ ]# wget -O /soft/code/images/nginx.png http://nginx.org/nginx.png

[root@web01 ~ ]# systemctl restart nginx

1.4.3 在10.0.0.7准备java动态资源,记得移除本地的8080端口

[root@web01 ~]# yum install -y tomcat

[root@web01 ~]# systemctl start tomcat

[root@web01 ~]# mkdir /usr/share/tomcat/webapps/ROOT

[root@web01 ~]# vim /usr/share/tomcat/webapps/ROOT/java_test.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

   

       

   

   

      <%

        Random rand = new Random();

        out.println("Random number:");

        out.println(rand.nextInt(99)+100);

      %>

   

1.4.4 配置proxy服务,10.0.0.5,在192.168.69.112配置负载均衡代理调度, 实现访问jsp和png

[root@lb01 conf.d]# cat ds_proxy.conf

upstream static {

        server 10.0.0.7:80;

}

upstream java {

        server 10.0.0.7:8080;

}

server {

        listen 80;

        server_name ds.oldboy.com;

        location / {

                root /soft/code;

                index index.html;

        }

        location ~ .*\.(png|jpg|gif)$ {

                proxy_pass http://static;

                include proxy_params;

        }

        location  ~ .*\.jsp$ {

                proxy_pass http://java;

                include proxy_params;

        }

}

[root@lb01 conf.d]# systemctl restart nginx

1.4.5 配置Hosts文件

1.4.6 在负载均衡上面添加一个html整合动态资源和静态资源

[root@lb01 ~]# mkdir /soft/code -p

[root@lb01 ~]# cat /soft/code/index.html

       

       

       

       

                测试动静分离

               

               

       

 

[root@lb01 ~]# systemctl restart nginx

 



推荐阅读
  • Nginx不仅是一款轻量级的高性能Web服务器,还具备出色的负载均衡和反向代理功能。它支持复杂的正则匹配规则、动静内容分离以及灵活的URL重写功能,使得配置和管理更加便捷高效。此外,Nginx提供了多种负载均衡算法,如轮询、加权轮询、最少连接数等,以满足不同应用场景的需求。 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • 小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限
    小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限 ... [详细]
  • FastDFS Nginx 扩展模块的源代码解析与技术剖析
    FastDFS Nginx 扩展模块的源代码解析与技术剖析 ... [详细]
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • 负载均衡基础概念与技术解析
    随着互联网应用的不断扩展,用户流量激增,业务复杂度显著提升,单一服务器已难以应对日益增长的负载需求。负载均衡技术应运而生,通过将请求合理分配到多个服务器,有效提高系统的可用性和响应速度。本文将深入探讨负载均衡的基本概念和技术原理,分析其在现代互联网架构中的重要性及应用场景。 ... [详细]
  • 【图解HTTP】第一章 了解web及网络基础
    [图解HTTP]了解Web及网络基础Web页面是如何呈现的?根据Web浏览器地址栏中指定的URL,Web浏览器从Web服务器端获取文件资源(resour ... [详细]
  • Java Socket 关键参数详解与优化建议
    Java Socket 的 API 虽然被广泛使用,但其关键参数的用途却鲜为人知。本文详细解析了 Java Socket 中的重要参数,如 backlog 参数,它用于控制服务器等待连接请求的队列长度。此外,还探讨了其他参数如 SO_TIMEOUT、SO_REUSEADDR 等的配置方法及其对性能的影响,并提供了优化建议,帮助开发者提升网络通信的稳定性和效率。 ... [详细]
  • 本指南介绍了如何在ASP.NET Web应用程序中利用C#和JavaScript实现基于指纹识别的登录系统。通过集成指纹识别技术,用户无需输入传统的登录ID即可完成身份验证,从而提升用户体验和安全性。我们将详细探讨如何配置和部署这一功能,确保系统的稳定性和可靠性。 ... [详细]
  • Keepalived 提供了多种强大且灵活的后端健康检查机制,包括 HTTP_GET、SSL_GET、TCP_CHECK、SMTP_CHECK 和 MISC_CHECK 等多种检测方法。这些健康检查功能确保了高可用性环境中的服务稳定性和可靠性。通过合理配置这些检查方式,可以有效监测后端服务器的状态,及时发现并处理故障,从而提高系统的整体性能和可用性。 ... [详细]
  • 基于Node.js的高性能实时消息推送系统通过集成Socket.IO和Express框架,实现了高效的高并发消息转发功能。该系统能够支持大量用户同时在线,并确保消息的实时性和可靠性,适用于需要即时通信的应用场景。 ... [详细]
  • 计算机网络计算机网络分层结构
    为了解决计算机网络复杂的问题,提出了计算机网络分层结构。计算机网络分层结构主要有OSI7层参考模型,TCPIP4层参考模型两种。为什么要分层不同产商 ... [详细]
  • 计算机网络概述计算机网络基本概念计算机网络计算机网络是互连的、自治的计算机集合。协议计算机网络中的实体在进行数据交换的过程中必须遵循的规定或约定,称为网络协议。协议的三个要素:语法 ... [详细]
  • 负载均衡 LVS vs Nginx 对比
    前言今天总结一下负载均衡中LVS与Nginx的区别,之前看过好几篇博文一开始就说LVS是单向的,Nginx是双向的,我个人认为这是不准确的,LVS三种模式中,虽然DR模式以及TU ... [详细]
  • 简介RSocket是在华盛顿特区举行的SpringOne平台会议上宣布的,是一种新的第7层语言无关的应用网络协议。它是一种基于ReactiveStreams背压的双 ... [详细]
author-avatar
农村小姑娘0
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有