nginx集群

redis缓存服务器(nginx+tomcat+redis+mysql实现session会话共享)

谁说我不能喝 提交于 2020-03-13 05:14:43
一,redis介绍 redis是一个key-value存储系统。和memcached类似,它支持存储的value类型相对更多,包括string(字符串),list(列表),set(集合),zset(sorted set---有序集合)和hash(哈希类型)。与memcached一样,为了保证效率,数据都是缓存在内存中。区别是redis会周期性地把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现master-slave(主从)同步。 Redis是一个高性能的key-value数据库。redis的出现,很大程度补偿了memcacehd这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了java,C/C++,C#,php,javaScript,Perl,Object-C,python,Ruby等客户端,使用很方便。 如果简单的比较redis与memcached的区别,基本上有以下3点: 1,redis不仅仅支持简单的key/value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。 2,redis支持数据的备份,即master-slave模式的数据备份。 3,redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。 在Reids中,并不是所有的数据都一直存储在内存中

集群

送分小仙女□ 提交于 2020-03-12 19:56:19
Linux集群 使用多台服务器搭建成一个集群来运行应用程序,不仅可以避免单点故障,还能提升服务器的承载能力 集群从功能实现上分为两种:高可用集群和负载均衡集群 高可用集群,当一台服务器宕机不能提供服务时,还有另外的服务器顶替 负载均衡集群,把用户的请求分摊到多台服务器上 搭建高可用集群 高可用集群,即“HA集群”,也称作“双机热备” 常见实现高可用的开源软件有heartbeat和keepalived keepalived工作原理 VRRP协议,是实现路由高可用的一种通信协议,在这个协议里会将多台功能相同的路由器组成一个小组,这个小组里有一个master主机和n个backup备用机,工作时,master会通过组播的形式向各个backup发送VRRP协议的数据包,当backup收不到master发来的VRRP数据包时,就会认为master宕机了。 keepalived就是采用VRRP协议实现的高可用。keepalived要有三个模块,分别是core、check和vrrp。其中core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析;check模块负责健康检查;vrrp模块用来实现VRRP协议 实现Wed高可用 VIP:虚拟ip,服务器靠这个ip对外提供服务,当master机器宕机时,VIP被分配到backup 安装服务 准备两台机器,一台master

Nginx+Tomcat搭建集群

雨燕双飞 提交于 2020-03-11 07:16:49
Nginx+Tomcat搭建集群 重点:我利用nginx命令启动停止和重新加载配置文件发现有时不能及时加载我修改的nginx.conf.我去任务管理器结束nginx进程重启nginx就可以了;也有可能是开启多个nginx,有的nginx用的是老配置文件,全部结束nginx进程重启即可。 一、 工具   nginx-1.12.2   apache-tomcat-7.0.80 二、 目标   实现高性能负载均衡的Tomcat集群: 三、 步骤   1、首先在官网中下载所需版本: http://nginx.org/en/download.html ,要下载稳定版,下载完毕后,解压。  在此安装目录下打开命令窗口,输入start nginx开启nginx服务 2、然后下载并解压两个Tomcat,分别命名为apache-tomcat-7.0.80-1和apache-tomcat-7.0.80-2:     3、然后修改这两个Tomcat的启动端口,分别为8010和8011,下面以修改第一台Tomcat为例,打开Tomcat的conf目录下的server.xml:共需修改3处端口: 改动一 首先到安装目录(或者解压目录)下找到conf文件夹,在里面找到server.xml的文件,找到 < Connector port= "8080" protocol= "HTTP/1.1"

利用nginx搭建tomcat集群

风格不统一 提交于 2020-03-11 07:16:29
1、tomcat集群   利用nginx对请求进行分流,将请求平均的分给不同的tomcat去处理,减少单个tomcat的负载量,提高tomcat的响应速度。 2、创建多个tomcat服务器(同一个服务器上)   ① 先安装配置好1个tomcat服务器     安装tomcat: http://www.cnblogs.com/origalom/p/7643425.html     以普通用户运行tomcat: http://www.cnblogs.com/origalom/p/7666897.html   ② 将安装好的tomcat复制一份 1 cd /usr/local/tomcat/ # 进入tomcat所在目录 2 cp -r tomcat8080/ tomcat8081 # 复制一份新的tomcat 3 chown -R tomcat:tomcat tomcat8081/ # 修改tomcat目录的所有者   ③ 修改daemon.sh     如果在创建tomcat时,在daemon.sh中设置了CATALINA_HOME等变量,则新拷贝的tomcat需要将这些变量设置成新的地址。   ④ 修改端口,让新的tomcat可以正常运行 vim tomcat8081/conf/server.xml     修改tomcat内部的端口,使用一个未使用的端口号,一般可以往上加一:  

Nginx、LVS及HAProxy负载均衡软件的优缺点

五迷三道 提交于 2020-03-11 03:52:36
负载均衡 (Load Balancing) 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力,同时能够提高网络的灵活性和可用性。 Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件。 (1)一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术。具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了;如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的;大型网站或重要的服务,且服务器比较多时,可以考虑用LVS。 (2)一种是通过硬件来进行,常见的硬件有比较昂贵的F5和Array等商用的负载均衡器,它的优点就是有专业的维护团队来对这些服务进行维护、缺点就是花销太大,所以对于规模较小的网络服务来说暂时还没有需要使用;另外一种就是类似于Nginx/LVS/HAProxy的基于 Linux的开源免费的负载均衡软件,这些都是通过软件级别来实现,所以费用非常低廉。 (3)目前关于网站架构一般比较合理流行的架构方案:Web前端采用Nginx/HAProxy+ Keepalived作负载均衡器;后端采用 MySQL数据库一主多从和读写分离,采用LVS+Keepalived的架构。当然要根据项目具体需求制定方案。 下面说说各自的特点和适用场合

nginx-vts + prometheus 监控nginx

这一生的挚爱 提交于 2020-03-10 11:36:51
nginx是我们常用反向代理软件,它的监控对于我们来说十分重要,今天介绍一些怎样利用nginx-vts模块和prometheus来实现对nginx的详细监控。 在使用vts之前,我们想要获取nginx 状态码统计,访问量,响应时间等都是通过es分析nginx访问日志得到的,受限于公司es集群的规模,我们没办法做时间跨度过大的统计。后来调研vts模块,发现我们这个模块可以完全满足我们的需求,并且查询速度非常快,查询半年数据也能很快展示出来(我们prometheus只保留半年数据) 安装 1、下载模块 https://github.com/vozlt/nginx-module-vts/releases 2、编译 编译参数添加--add-module=/path/to/nginx-module-vts 然后编译 3、替换现有bin文件 4、reload nginx 通过 nginx -V 来查看模块是否添加成功 ###配置 1、配置状态访问接口 在default server里添加状态查看location,并做好相关访问限制 location /status{ allow 127.0.0.1; deny all; vhost_traffic_status_display; vhost_traffic_status_display_format html; } 2、开启vts统计

Service Mesh

元气小坏坏 提交于 2020-03-08 14:16:03
Description Service Mesh 架构下,服务间调用会通过服务名(Service Name)互相调用,比如在 Kubernetes 、Docker Swarm 集群中,服务 IP 均由集群动态分配,外部网络无法直接访问到集群内部的服务。对于大型系统,微服务的数量较多,服务间的调用关系也错综复杂,遇到问题时,本地启动整个服务集群去 Debug,不仅需要本地电脑有很高的配置,而且操作起来也比较麻烦。比较优雅一点的做法是本地启动相应服务,gRPC 调用都连接到远程集群。 Nginx gRPC Module Nginx 版本 1.13.10 之后支持 gRPC 反向代理,这样我们就能通过在集群中部署 Nginx 服务,来连通外部网络和集群内的服务。 Kubernetes Demo 1、Deploy gRPC Server In Kubernetes Cluster 首先,在 Kubernetes 集群中部署镜像为 python:3 的容器,为下面的代码提供运行环境 然后,克隆项目 https://github.com/ChinaSilence/python-grpc ,执行 pip install python-grpc 安装依赖 接着,在 python-grpc 目录下执行 python server/server.py ,观察日志,等待 gRPC server 启动成功

CentOS7构建LVS+Keepalived高可用方案

这一生的挚爱 提交于 2020-03-08 14:07:35
负载均衡(LB)软件 常见负载均衡软件有:LVS、Nginx、Haproxy LVS : 1). 基于4层网络协议,几乎无流量产生,这个特点也决定这几个负载均衡软件里负载能力最强,内存、CPU占用资源也低。 2). 应用范围广,不仅对Web服务做负载均衡,而且可结合其他应用做负载,如LVS+MySQL负载均衡。 3). 配置简单, 可配置东西较少。 4). 无流量,LVS只分发请求,而流量并不从它本身出去,这点保证了均衡器IO的性能不会收到大流量的影响。 5). 有个虚IP概念。 Nginx : 1). 基于7层网络协议,对Http应用做分流策略,如配置域名。 2). 高负载、稳定。支持上万高并发。负载能力小于LVS。 3). 安装配置简单,支持的正则比Haproxy丰富。且对网络稳定性的依赖非常小。 4). 可通过端口检测到服务器内部的故障,如根据服务器处理网页返回的状态码、超时等,把返回错误的请求重新提交到另一个节点。 5). 作Web服务器。 6). 反向代理\负载均衡。 Haproxy : 1). 支持虚拟主机,可工作在4层、7层。 2). 负载均衡效率上来讲Haproxy比Nginx更出色,在并发处理上也是优于Nginx。 3). 能够补充Nginx的一些缺点,如支持Session的保持,Cookie的引导。同时支持通过获取指定的url来检测后端服务器的状态。 4).

Jenkins+Gitlab针对kubernetes集群实现可持续集成

与世无争的帅哥 提交于 2020-03-07 22:12:45
关于如何使用Jenkins+Gitlab实现可CI/CD,在此就不多做介绍了,本篇博文主要介绍Jenkins+Gitlab针对kubernetes集群实现CI/CD。由于Kubernetes近年来的火爆程度,掌握这项技能已经变得尤为重要! 一、环境准备 系统 主机名 IP地址 所运行的服务 Centos 7 master 192.168.1.1 K8s集群的master节点 Centos 7 node01 192.168.1.2 K8s集群的node节点 Centos 7 docker 192.168.1.4 Docker K8s集群主要用于运行一个Nginx运行容器,模拟线上环境; master节点主要用于运行registry私有仓库; docker服务器运行Jenkins与Gitlab服务; 上述三台服务器全部加入registry私有仓库; 部署环境所需任何软件包,都可从以下链接中获取! 链接: https://pan.baidu.com/s/1pb4ZShK5MBxIj6xN-hMmoA 提取码:k66s 二、部署registry私有仓库 其实registry私有仓库在任何一台机器上部署都可以,这里就直接在master节点上部署了! [root@master ~]# docker run -d --restart=always -p 5000:5000 registry:2

HTTP、Nginx服务介绍

风流意气都作罢 提交于 2020-03-07 03:15:31
一、HTTP 介绍 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。 1、HTTP 工作原理 HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。 Web服务器有:Nginx,Apache服务器,IIS服务器(Internet Information Services)等。 Web服务器根据接收到的请求后,向客户端发送响应信息。 HTTP默认端口号为80,但是你也可以改为8080或者其他端口。 HTTP三点注意事项: HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。 HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传