nginx集群

Nginx学习(转载)

 ̄綄美尐妖づ 提交于 2019-12-10 05:26:51
本文链接: https://blog.csdn.net/qq_40036754/article/details/102463099 前言 一、nginx简介 1. 什么是 nginx 和可以做什么事情 Nginx 是高性能的 HTTP 和反向代理的web服务器,处理高并发能力是十分强大的,能经受高负 载的考验,有报告表明能支持高达 50,000 个并发连接数。 其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。 2.Nginx 作为 web 服务器 Nginx 可以作为静态页面的 web 服务器,同时还支持 CGI 协议的动态语言,比如 perl、php 等。但是不支持 java。Java 程序只能通过与 tomcat 配合完成。Nginx 专为性能优化而开发, 性能是其最重要的考量,实现上非常注重效率 ,能经受高负载的考验,有报告表明能支持高 达 50,000 个并发连接数。 https://lnmp.org/nginx.html 3. 正向代理 Nginx 不仅可以做反向代理,实现负载均衡。还能用作正向代理来进行上网等功能。 正向代理:如果把局域网外的 Internet 想象成一个巨大的资源库,则局域网中的客户端要访 问 Internet

Nginx面试题

感情迁移 提交于 2019-12-08 03:03:12
一、什么是Nginx? Nginx是一个高性能的HTTP和反向代理服务器,及电子邮件代理服务器,同时也可以作为反向代理服务器来实现负载均衡。 二、为什么要使用Nginx? 因为Nginx具有跨平台、配置简单、非阻塞、高并发连接等特点! Nginx的优势: 内存消耗小:开启10个Nginx才占150M内存,Nginx处理静态文件好,耗费内存小; 内置的健康检查功能:如果有一个服务器宕机,Nginx会将这台宕机的服务器移出集群; 节省带宽:支持Gzip压缩,可以添加到浏览器本地进行缓存; 稳定性高:宕机的概率非常小; 接收用户请求是异步的(采用epoll模型):浏览器将请求发送到nginx服务器,它先将用户请求全部接收下来,再一次性发送给后端web服务器,极大减轻了web服务器的压力,一边接收web服务器的返回数据,一边发送给浏览器客户端, 网络依赖性比较低,只要ping通就可以负载均衡,可以有多台nginx服务器 使用dns做负载均衡,事件驱动; 三、Nginx的功能? 主要功能: 可以作为Web服务器(代替Apache,对PHP需要fastcgi处理器支持); 可以作为反向代理服务器; 可以实现负载均衡; 可以配置虚拟主机; fastcgi:Nginx本身不支持PHP等语言,但是它可以通过fastcgi来将请求转交到某些语言或框架处理; 四、Nginx是如何实现高并发的?

集群技术(七)nginx1.7 -- nginx+keepalived高可用

与世无争的帅哥 提交于 2019-12-06 23:59:11
两台nginx服务器,分别安装keepalived,配置 /etc/keepalived/keepalived.conf 主从配置: 主nginx 修改主nginx下 /etc/keepalived/keepalived.conf文件 ! Configuration File forkeepalived #全局配置 global_defs { notification_email { #指定keepalived在发生切换时需要发送email到的对象,一行一个 xxxx.xxxx.com } notification_email_from XXX@XXX.com #指定发件人 #smtp_server XXX.smtp.com #指定smtp服务器地址 #smtp_connect_timeout 30 #指定smtp连接超时时间 router_id LVS_DEVEL #运行keepalived机器的一个标识 } vrrp_instance VI_1 { state MASTER #标示状态为MASTER 备份机为BACKUP interface eth0 #设置实例绑定的网卡 virtual_router_id 51 #同一实例下virtual_router_id必须相同 priority 100 #MASTER权重要高于BACKUP 比如BACKUP为99 advert_int

Nginx学习笔记--高可用Nginx架构:keepalived+nginx

点点圈 提交于 2019-12-06 23:58:40
Nginx作为对外暴露的访问入口,必须具有高可用性,才能保证能够正常提供服务。单机Nginx服务的情况下,一旦出现宕机,将会导致需要Nginx路由的服务不可用访问,因此,保证Nginx服务的HA(high availabitlity),也就是高可用性。 keepalived+lvs+nginx如何保证Nginx高可用? keepalived是一个集群高可用的轻量级解决方案,关于他的介绍不多做描述,度娘很多。这里主要分析一下是如何保证nginx高可用。 我们都知道单机无法保证高可用,那么必定要实现主备或者集群来保证其可用性。Nginx本身并没有提供这样的功能,keepalived就是解决这种问题的一种实现方案。利用keepalived可以实现主备架构,在master故障发生时进行故障转移,选举备机作为新的master提供服务,同时结合keepalived提供的检测机制,可以保证Nginx的高可用。 按照我的理解,画了下面的架构图,下面看图分析。 首先是外部请求,客户端访问在 keepalived中的vrrp配置的对外暴露的虚拟ip,访问到 keepalived-service-master 所在服务器 server1 ,此时 keepalived-service-backup 服务做备用,不提供对外服务。 通过 keepalived-service-master 中的路由配置

consul consul-template nginx keepalived 搭建高可用负载均衡(支持TCP和http)

泪湿孤枕 提交于 2019-12-06 23:56:40
consul consul-template nginx keepalived 搭建高可用负载均衡 搭建准备 两台windows服务器 IP分别为192.168.103.151和192.168.103.152 两台linux服务器(centos7) IP分别为192.168.103.150和192.168.103.153 (这里使用VMware虚拟机搭建该方案) 思路   两台windows作为集群中的server提供实际的业务处理功能,在linux上使用nginx作为负载均衡器反向代理,同时两台linux做主备,使用虚拟IP对外提供服务(主备之间只有一台机器对外提供服务),当主nginx意外宕机,或者主机的nginx服务挂掉,备机自动抢占虚拟ip改为由备机提供服务,当主机一切正常时,再抢回虚拟ip。   四台机器之间通过consul搭建集群,两台windows机器作为集群中的server,consul为集群中的client提供服务发现的功能,提供健康检查功能,两台linux机器,使用consultemlate动态更新nginx的配置文件。 架构图如下: 现在开始搭建windows集群 1.安装consul 下载地址: https://www.consul.io/downloads.html 新建consul配置文件 config.json { "services": [ {

分布式架构学习之:030--Keepalived+Nginx实现高可用Web负载均衡

半腔热情 提交于 2019-12-06 23:52:37
一、场景需求 二、Keepalived 简要介绍 Keepalived 是一种高性能的服务器高可用或热备解决方案,Keepalived 可以用来防止服务器单点故障的发生,通过配合 Nginx 可以实现 web 前端服务的高可用。 Keepalived 以 VRRP 协议为实现基础,用 VRRP 协议来实现高可用性(HA)。VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,VRRP 协议将两台或多台路由器设备虚拟成一个设备,对外提供虚拟路由器 IP(一个或多个),而在路由器组内部,如果实际拥有这个对外 IP 的路由器如果工作正常的话就是 MASTER,或者是通过 算法 选举产生,MASTER 实现针对虚拟路由器 IP 的各种网络功能, 如 ARP 请求,ICMP,以及数据的转发等;其他设备不拥有该虚拟 IP,状态是 BACKUP,除了接收 MASTER 的VRRP 状态通告信息外,不执行对外的网络功能。当主机失效时,BACKUP 将接管原先 MASTER 的网络功能。VRRP 协议使用多播数据来传输 VRRP 数据,VRRP 数据使用特殊的虚拟源 MAC 地址发送数据而不是自身网卡的 MAC 地址,VRRP 运行时只有 MASTER 路由器定时发送 VRRP 通告信息,表示 MASTER 工作正常以及虚拟路由器 IP(组)

Nginx负载均衡服务器

邮差的信 提交于 2019-12-06 19:18:15
nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态、静态页面的分离,可以按照轮询、ip哈希、URL哈希、权重等多种方式对后端服务器做负载均衡,同时还支持后端服务器的健康检查。 如果只有一台服务器时,这个服务器挂了,那么对于网站来说是个灾难.因此,这时候的负载均衡就会大显身手了,它会自动剔除挂掉的服务器. 下面简单的介绍下我使用Nginx做负载的体会 Nginx负载均衡一些基础知识: nginx 的 upstream目前支持 4 种方式的分配 1)、轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 2)、weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 3)、ip_hash 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 4)、fair(第三方) 按后端服务器的响应时间来分配请求,响应时间短的优先分配。 5)、url_hash(第三方) 配置: 在http节点里添加: #定义负载均衡设备的 Ip及设备状态 upstream myServer { server 127.0.0.1:9090 down; server 127.0.0.1:8080 weight=2; server

阿里云上Kubernetes集群联邦

十年热恋 提交于 2019-12-06 16:48:44
摘要: kubernetes集群让您能够方便的部署管理运维容器化的应用。但是实际情况中经常遇到的一些问题,就是单个集群通常无法跨单个云厂商的多个Region,更不用说支持跨跨域不同的云厂商。这样会给企业带来一些担忧,如何应对可用区级别的Fail,以及容灾备份?是否会造成厂商锁定,增加迁移成本?如何应对线上线下突发流量?如何统一管理调度容器资源?单个集群规模的上限等等。 点此查看原文: http://click.aliyun.com/m/43608/ kubernetes集群让您能够方便的部署管理运维容器化的应用。但是实际情况中经常遇到的一些问题,就是单个集群通常无法跨单个云厂商的多个Region,更不用说支持跨跨域不同的云厂商。这样会给企业带来一些担忧,如何应对可用区级别的Fail,以及容灾备份?是否会造成厂商锁定,增加迁移成本?如何应对线上线下突发流量?如何统一管理调度容器资源?单个集群规模的上限等等。 Federation集群联邦可以一定程度上解决这些问题。Federation是可以将分布在多个Region或者多个云厂商的Kubernetes集群整合成一个大的集群,统一管理与调度。 本文档演示搭建一个杭州和北京的kubernetes集群组成集群联邦,其中杭州集群作为联邦的控制平面 准备域名 Federation使用域名将不同子集群的同一个服务暴露出来

单节点FastDFS安装

允我心安 提交于 2019-12-06 16:47:00
环境:centos7 1.什么是分布式文件系统 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。 通俗来讲: 传统文件系统管理的文件就存储在本机。 分布式文件系统管理的文件存储在很多机器,这些机器通过网络连接,要被统一管理。无论是上传或者访问文件,都需要通过管理中心来访问 2.什么是FastDFS FastDFS是由淘宝的余庆先生所开发的一个轻量级、高性能的开源分布式文件系统。用纯C语言开发,功能丰富: 文件存储 文件同步 文件访问(上传、下载) 存取负载均衡 在线扩容 适合有大容量存储需求的应用或系统。同类的分布式文件系统有谷歌的GFS、HDFS(Hadoop)、TFS(淘宝)等。 3.FastDFS的架构 3.1.架构图 先上图: FastDFS两个主要的角色:Tracker Server 和 Storage Server 。 Tracker Server:跟踪服务器,主要负责调度storage节点与client通信,在访问上起负载均衡的作用,和记录storage节点的运行状态,是连接client和storage节点的枢纽。 Storage Server:存储服务器,保存文件和文件的meta data(元数据),每个storage

【产品环境】使用ELK搭建日志系统

北城余情 提交于 2019-12-06 16:35:36
随着业务不断完善与发展,日志的重要性稳步上升。我们需要从日志中排查错误,以及分析用户行为,为业务发展提供参考意见。因此,需要一套专门的日志系统帮助我们收集、分析、处理日志。 以前我曾经写过一个logstash的blog: http://my.oschina.net/abcfy2/blog/372138 ,版本比较低,但是logstash的配置没变过。此篇blog将比上述blog更详尽一些,扩展到产品环境搭建完整的日志系统,但是logstash本身的配置不多做介绍,因为旧Blog已经介绍的比较详细了。 本篇Blog主要介绍我们目前使用的日志系统的总体架构和部分配置。Kibana的使用暂时不在本篇Blog的覆盖范围之内,以后也许会单独写一篇kibana的使用,读者也可以参考饶琛琳的《ELK stack权威指南》一书的 相关章节 。 本篇Blog的内容也并非自己独自完成,关于log4j 1.2部分的配置和使用是开发同事共同探究实现的。 最后要说的一点是,日志系统的实现并不只是运维的工作,开发也需要配合,规范日志格式,规范项目埋点,便于排查问题。最后归结与一点,要有执行力,要有人推动,不能随随便便的打日志,更不允许产品环境有乱七八糟的 println 这种调试方式的日志输出。 关于ELK ELK Stack指代三个独立的组件: Elasticsearch,Logstash,Kibana