nginx集群

Nginx负载均衡

心不动则不痛 提交于 2020-03-04 10:04:30
转载:http://www.cnblogs.com/xiaogangqq123/archive/2011/03/04/1971002.html 最近迷上了Nginx,真实麻雀虽小,五脏俱全..功能实在强大.. nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态、静态页面的分离,可以按照轮询、ip哈希、URL哈希、权重等多种方式对后端服务器做负载均衡,同时还支持后端服务器的健康检查。 如果只有一台服务器时,这个服务器挂了,那么对于网站来说是个灾难.因此,这时候的负载均衡就会大显身手了,它会自动剔除挂掉的服务器. 下面简单的介绍下我使用Nginx做负载的体会 下载---安装Nginx这些不介绍了,前篇有介绍. windows和Linux下配置Nginx负载的写法一样,故不分开介绍. Nginx负载均衡一些基础知识: nginx 的 upstream目前支持 4 种方式的分配 1)、轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 2)、weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 2)、ip_hash 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 3)、fair(第三方)

Nginx实现负载均衡 + Keepalived实现Nginx的高可用

↘锁芯ラ 提交于 2020-03-03 17:59:38
前言   使用集群是大中型网站解决高并发、海量数据问题的常用手段。当一台服务器的处理能力、存储空间不足时,不要企图去换更强大的服务器,对大型网站而言,不管多么强大的服务器,都满足不了网站持续增长的业务需求和用户量。这种情况下,更恰当的做法是增加一台或多台服务器去分担原有服务器的访问及存储压力。通过 负载均衡调度服务器,将来自浏览器的访问请求分发到应用服务器集群中的任何一台服务器上 ,如果有更多的用户,就在集群中加入更多的应用服务器,使应用服务器的负载压力不再成为整个网站的瓶颈。 环境准备   192.168.0.221:nginx + keepalived master (主)   192.168.0.222:nginx + keepalived backup slave (从)   192.168.0.223:tomcat   192.168.0.224:tomcat   虚拟ip(VIP):192.168.0.200,对外提供服务的ip,也可称作浮动ip   各个组件之间的关系图如下: Tomcat做应用服务器    tomcat 的安装不在本博客范围之内,具体例子网上很多在此就不讲解, tomcat 的 webapps 下记得放自己的应用,我的是 myWeb ,如果大家也用我的 myWeb ,那么index.jsp中的ip需要换成自己的   将192.168.0.223

K8S集群中安装Nginx Ingress Controller

倖福魔咒の 提交于 2020-03-03 14:46:16
Kubernetes Ingress是为了代理不同后端Service而设置的负载均衡服务,我们自己的每个服务可以根据自己的需求定制自己的ingress rule. 实际的使用中我们要选择一个具体的ingress controller,部署在k8s集群中,然后Ingress Controller会根据我们定义的Ingress对象,提供对应的代理能力。 比如我在们开发一个cms系统,是前后端分离的,也是分开部署的,我希望它们有这样的规则 http://www.mycms.com/api ---> 后端 http://www.mycms.com/ ---> 前端 ingress很简单,下面这样就可以 apiVersion : extensions/v1beta1 kind : Ingress metadata : name : cms - ingress namespace : today - partner - beta annotations : nginx.ingress.kubernetes.io/proxy-body-size : "20M" spec : tls : - hosts : - mycms.com secretName : cms - secret rules : - host : mycms.com http : paths : - path : /api

Apache与Nginx的优缺点比较

痴心易碎 提交于 2020-03-03 03:24:09
1、nginx相对于apache的优点: 轻量级,同样起web 服务,比apache 占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能 高度模块化的设计,编写模块相对简单 社区活跃,各种高性能模块出品迅速啊 apache 相对于nginx 的优点: rewrite ,比nginx 的rewrite 强大 模块超多,基本想到的都可以找到 少bug ,nginx 的bug 相对较多 超稳定 存在就是理由,一般来说,需要性能的web 服务,用nginx 。如果不需要性能只求稳定,那就apache 吧。后者的各种功能模块实现得比前者,例如ssl 的模块就比前者好,可配置项多。这里要注意一点,epoll(freebsd 上是 kqueue )网络IO 模型是nginx 处理性能高的根本理由,但并不是所有的情况下都是epoll 大获全胜的,如果本身提供静态服务的就只有寥寥几个文件,apache 的select 模型或许比epoll 更高性能。当然,这只是根据网络IO 模型的原理作的一个假设,真正的应用还是需要实测了再说的。 2、作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。在高连接并发的情况下

用Keepalived搭建高可用集群

点点圈 提交于 2020-03-02 21:09:24
一、集群介绍 1、根据功能划分为两大类:高可用和负载均衡 2、高可用:一台工作,另一台冗余,当一台服务器故障宕机时,另一台服务器提供服务。开源软件有heartbeat,keepalived. 3、负载均衡:有一台服务器做分发器,负责把用户的请求发送给后端处理,其他的服务器给用户提供服务。开源软件有LVS,keepalived,haproxy,nginx.商业的有F5,Netscaler. 二、keepalived介绍 1、keepalived 是采用VRRP协议实现高可用。keepalived 有三个模块,core ,check,vrrp。core模块是keepalived的核心,负责主进程启动,维护和全局模块的加载和解析,check模块负责健康检查,vrrp模块用来实现VRRP协议。 三、用keepalived搭建高可用集群。 1、为两台机器安装keepalived yum install -y keepalived 2、为两台机器安装nginx,其中IP为130的主机已经在之前安装过,只需为另一台安装 yum install -y nginx 3、编辑130主机的keepalived的配置文件 vim /etc/keepalived/keepalived.conf 1)首先清空keepalived.conf > keepalived.conf 2)加入以下内容: global

Nginx原理

橙三吉。 提交于 2020-03-02 12:07:03
1. nginx基本介绍   1、nginx高并发原理( 多进程+epoll实现高并发 )       1. Nginx 在启动后,会有一个 master 进程和多个相互独立的 worker 进程。       2. 每个子进程只有一个线程,采用的 IO多路复用模型epoll,实现高并发。   2、epoll能实现高并发原理       1. epoll() 中内核则维护一个链表,epoll_wait 方法可以获取到链表长度,不为0就知道文件描述符准备好了。       2. 在内核实现中 epoll 是根据每个 sockfd 上面的与设备驱动程序建立起来的回调函数实现的。       3. 某个 sockfd 上的事件发生时,与它对应的回调函数就会被调用,来把这个 sockfd 加入链表,其他处于“空闲的”状态的则不会。       4. epoll上面链表中获取文件描述,这里使用内存映射(mmap)技术, 避免了复制大量文件描述符带来的开销        内存映射(mmap) :内存映射文件,是由一个文件到一块内存的映射,将不必再对文件执行I/O操作   3、nginx和apache比较     1)nginx相对于apache的优点         1. 轻量级,同样起web 服务,比apache 占用更少的内存及资源         2. 抗并发,nginx

探索:单台web服务器如何尽可能的提高网站性能!

纵然是瞬间 提交于 2020-03-02 07:15:47
一个网站,对于个人或小公司来说,前期直接上集群的开销是比较大的,那么采用单台服务器如何才能尽可能的提高网站效率呢? 我觉得首先要选择一个合适的环境,对于大多数php站点来说,运行在lnmp(linux+nginx+mysql+php)环境下是个理想的选择. 首先一点linux对比win的优势我就不说了。 其次nginx的优势总结起来就是负载均衡,高并发性能优异。 这里php采用fastcgi的方式接入nginx,php5.3 自带的php-fpm已经很好了,相比于apache的php模块方式,这里由php自己直接处理php请求是比较好的,并且可调控进程数量以优化并发性能。 上面说的是基本环境,我有一台q6600的老四核,4G内存的linux服务器,上面跑了几十个站点,最高跑到90M带宽,成功hold住! 下面说说程序方面的优化。 我们知道,静态页面的速度比动态页面要快,尤其是在nginx下,静态页面直接由nginx提供服务,性能尤其高。而动态页面,虽然fastcgi也很好,但是相比于nginx直接处理静态页面,还是有点差距的。 这里介绍两个好东西,一个是nginx自身的缓存功能proxy_cache和fastcgi_cache,然后还有一个nginx模块 ngx_cache_purge用于清理指定url的缓存。 这里单台服务器我们主要使用的是fastcgi_cache

FastDFS集群

断了今生、忘了曾经 提交于 2020-03-01 16:41:56
部署相同内容的Linux机器再搭建一遍,需要修改几个配置文件即可。 1.Storage集群的配置 修改本机器上storage.conf和mod_fastdfs.conf,将tracker指向同一个192.168.244.8:22122 启动本机storage服务并重启nginx即可: systemctl start fdfs_storaged /usr/local/nginx/sbin/nginx -s reload 2.Tracker集群的配置 修改所有机器上的storage.conf和mod_fastdfs.conf,将其tracker配置成两台机器:192.168.244.8和192.168.244.9 重启所有机器上的storage和其上的nginx服务 systemctl start fdfs_storaged systemctl stop fdfs_storaged /usr/local/nginx/sbin/nginx -s reload 来源: 51CTO 作者: 974297362 链接: https://blog.51cto.com/6324115/2474309

nginx笔记

假装没事ソ 提交于 2020-03-01 05:39:28
通过端口区分不同主机 通过域名区分不同虚拟主机 如果都想暴露80端口呢,就通过域名区分 一个域名只对应一个ip,一个ip可以绑定多个域名 能通过域名访问网站是通过dns服务器将域名和ip的绑定关系一一映射 dns就和windos系统的hosts文件一样,修改了本地的hosts文件就不走dns了。位置:C:\Windows\System32\drivers\etc\hosts 通过上图的配置,输入不同的网址都是走本机的对应的index.html 文件 反向代理 反向代理就是转发,用户请求哪个网址给转到对应的服务器 在linux里考两个tomcat,修改端口和默认主页文件,一个sina,一个souhu,都启动起来。本地hosts文件要修改成下图 然后修改nginx配置文件。 上图如果访问www.souhu.com就将访问到192.168.25.148:8081 nginx实现负载均衡 如果转发的网址有部署多台服务器,就是要在upstream 下加对应的server 如下图配置 nginx高可用 nginx不能部署成集群,因为一台服务器只有一个域名,一个网址又只能绑定一个域名。弄一主一备两台nginx,各自安装上keepalived,这个有一个VIP,动态绑定两台nginx服务器。 注意网址绑定的是VIP 来源: CSDN 作者: 狗尾草不是草 链接: https://blog.csdn

高可用系列之Nginx

拈花ヽ惹草 提交于 2020-02-29 12:30:55
1.1 Keepalived 高可用软件 Keepalived 起初是专为 LVS 设计的, 专门用来监控 LVS 集群系统中各个服务节点的状态 ,后来又加入了 VRRP 的功能,因此除了配合 LVS 服务外,也可以作为其他服务( Nginx,Haproxy )的高可用软件, VRRP 是 Virtual Router Redundancy Protocol (虚拟路由器冗余协议)的缩写, VRRP 出现的目的就是为了解决 静态路由 出现的单点故障问题,它能够保证网络的不间断、稳定的运行。所以, keepalived 以方面具有 LVS Cluster nodes healthchecks 功能,另一方面也具有 LVS directors failover 功能。 1.1.1 LVS Directors failover 功能 Ha failover 功能:实现 LB Master 主机和 Backup 主机之间故障转义和自动切换。 这是针对有两个负载均衡器 Director 同时工作而采取的故障转移措施。当主负载均衡器( MASTER )失效或出现故障时,备份负载均衡器( BACKUP )将自动接管主负载均衡的所有工作( vip 资源及相应服务)一旦主负载均衡器( MASTER )故障修复, MASTER 又会接管回它原来处理的工作,而备份负载均衡器( BACKUP )会释放