![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Nginx
文章平均质量分 73
程序员铁蛋
这个作者很懒,什么都没留下…
展开
-
LVS三种工作模式
1. LVS模式之NATNAT模式是指基于IP地址的转换的一种工作模式,如下图所示,用户在浏览器端输入域名,通过DNS域名解析出VIP(虚拟IP),然后通过虚拟IP找到LVS,此时LVS是处于公网的,用户是可以ping通192.168.1.150的。LVS是一个调度者,在LVS的后端有个Nginx集群,这个集群处于企业内部的内网,在内网里面是互通的,但是外部用户是无法直接访问的,集群中每个Nginx的响应都会返回给LVS,最后再由LVS返回给用户。在这种模式下,LVS就和Nginx类似的,如果此时是原创 2020-06-07 14:08:05 · 1230 阅读 · 0 评论 -
LVS负载均衡入门
1. LVS简介Linux Virtual Server,指Linux系统上的虚拟服务;LVS的核心是ipvs,已经被集成到Linux内核中,可以理解成苹果手机的IOS系统;是一个基于四层的负载均衡调度器,即IP+Port的负载均衡;2. LVS网络拓扑图如下图所示,用户通过浏览器发起请求,先经过DNS解析,然后到达服务器的LVS,LVS根据轮训算法把请求发送到后端的服务器。通过使用这个负载均衡的集群,可以提高服务的性能。LVS和Nginx类似的,如果把图中的LVS换成Nginx,也是可以的。原创 2020-06-02 16:26:58 · 163 阅读 · 0 评论 -
Nginx高可用HA
1. Nginx常规部署如下图所示,用户在访问网站的时候是直接访问到Nginx,Nginx下挂了一个Tomcat集群,在集群环境下,Tomcat之间彼此协调,已达到负载均衡,如果有一台Tomcat宕机了,其他Tomcat还可以提供服务。但是因为Nginx只有一台,如果Nginx所在的节点宕机了,那么就会导致整个服务瘫痪。所以我们需要一台备用机及时的替换他进行服务。2. Nginx高可用部署如下图所示,新增一台备用的Nginx,原来的节点称之为master,新增的节点称之为backup,当原来的节点原创 2020-06-01 17:55:26 · 455 阅读 · 0 评论 -
负载均衡之url_hash和least_conn
1. url_hash如下图所示,跟ip_hash原理类似,将url的hash值对Tomcat的数量求模,映射到特定的服务器在nginx.conf的配置方法如下:2. least_conn如下图所示,least_conn根据最少连接数的服务器进行请求,以减少其他服务器的压力:在nginx.conf的配置方法如下:...原创 2020-05-27 17:08:00 · 387 阅读 · 0 评论 -
一致性hash算法
1. ip_hash算法存在的问题如下图所示,一旦下标为2的服务器,即Tomcat 3发生宕机了,则服务器的数量发生了变化,由3变为2,最后hash算法的结果也发生更改,比如:5%3=2变为了5%2=1,所有的请求都要重新进行求模运算,最后导致用户在原来服务器里面的会话发生丢失,响应的数据缓存也丢失。2. 一致性hash算法如下图所示,将一组数字组装成一个环形,假设有一台服务器,它的ip地址经过hash算法计算后的结果放到环形中,随后,所有的服务器节点都顺时针的放在环形的特定位置中。然后,用户的ip原创 2020-05-27 16:39:04 · 185 阅读 · 0 评论 -
负载均衡之ip_hash
1. 什么是ip_hash?ip_hash是根据用户请求过来的ip,然后映射成hash值,然后分配到一个特定的服务器里面;使用ip_hash这种负载均衡以后,可以保证用户的每一次会话都只会发送到同一台特定的Tomcat里面,它的session不会跨到其他的tomcat里面去的;2. hash算法原理如图所示:首先通过将ip地址映射成一个hash值,然后将hash值对Tomcat的数量3取模,得到Tomcat的索引0、1、2;比如:5%3=2,则把这个请求发送到Tomcat3服务器,以此类原创 2020-05-27 16:02:55 · 21315 阅读 · 2 评论 -
Nginx构建Tomcat集群
1. Nginx构建Tomcat集群Demo通过Nginx的upstream模块构建三台Tomcat组成的集群,首先在nginx.conf文件中添加如下内容:upstream youpin-server { server 192.168.1.173:8080; server 192.168.1.174:8080; server 192.168.1.175:8080;}server { listen 80; server_name www.youpin.com; location / {原创 2020-05-25 16:21:22 · 199 阅读 · 0 评论 -
Nginx的集群负载均衡解析
1. Nginx的负载均衡概述当我们使用集群的时候,肯定会涉及到负载均衡,负载均衡可以提高吞吐量,提高并发性能,增强服务器的处理性能,当有大量的并发请求来到服务器的时候,可以把请求分发到不同的服务器,让更多的服务器来响应,如此一来,我们可以缩短服务器的处理时间,提升用户体验;Nginx可以作为一个负载均衡器来使用,浏览器的请求必须先经过Nginx,才会被Nginx分发到Tomcat服务器,用户的每一次请求派发给哪台Tomcat都会由Nginx决定;负载均衡分为四层和七层负载均衡,所谓四到七层的负载原创 2020-05-24 13:22:58 · 400 阅读 · 0 评论 -
使用Gzip压缩提高请求效率
在nginx的核心配置文件里面可以配置Gzip压缩来减少html、css、js、图片、音视频等文件的大小,提供文件传输效率。常用的配置如下:#开启gzip压缩功能,目的:提高传输效率,节约带宽 gzip on;#限制最小压缩,小于1字节文件不会压缩gzip_min_length 1;#定义压缩的级别,即压缩比,取值范围1~9,压缩比越大,cpu的使用频率越多gzip_comp_level 3;#定义压缩文件类型gzip_types text/css text/javascript app原创 2020-05-23 16:32:56 · 638 阅读 · 0 评论 -
Nginx日志切割
默认情况下,nginx的日志比如:error.log,access.log都保存在/usr/local/nginx/logs目录下,慢慢的,日志会累积的越来越大,因此我们需要以天为单位对日志进行切割,如果每天有几百G或者几个T的日志的话,则可以按需以每半天或者每小时对日志切割一下。在/usr/local/nginx/sbin里面新建nginx_cut_log.sh文件并写入以下内容:#!/bin/bashLOG_PATH="/usr/local/nginx/logs"RECORD_TIME=$(da原创 2020-05-19 10:35:47 · 127 阅读 · 0 评论 -
nginx.conf配置文件详解
1. 核心配置文件的基本结构nginx.conf配置结果如下:worker_processes 1;events { #默认工作模式 use epoll; #每个worker允许连接的客户端最大连接数 worker_connections 1024;}http { server { listen 80; server_name localhost; location / { r原创 2020-05-19 09:44:56 · 236 阅读 · 0 评论 -
Nginx处理Web请求机制分析
Nginx是一个高性能的服务器,处理的并发数可以达到几百万,为什么会这样呢?1. Worker抢占机制服务器有一个master主进程,监听80端口,默认的worker进程只有一个,我们可以配置多个;当客户端有请求进入到Nginx中,假设有三个worker抢这个请求,worker通过争抢accept_mutex这个互斥锁来获得这个请求,假设worker1抢到了,那么客户端就和worker1建立的连接关系,worker1就可以读取、解析、响应这个请求;2. Nginx事件处理服务器有一个mas原创 2020-05-18 16:45:10 · 134 阅读 · 0 评论 -
Nginx的进程模型
当启动nginx后,默认情况下会有两个进程,我们使用ps -ef | grep nginx查看一下:我们可以看到有一个master进程,有一个worker进程master进程:主进程,相当于一个领导者,用来管理worker进程,master接收外界的信号,然后分发给worker进程,比如:./nginx -s stop./nginx -s quit./nginx -s reload./nginx -tworker进程:工作进程,相当于一个工作者,是实际工作的角色,相当于为master原创 2020-05-17 16:36:58 · 124 阅读 · 0 评论 -
Nginx入门与安装
1. 什么是Nginx?Nginx是一个高性能的HTTP和反向代理web服务器主要功能是反向代理通过配置文件就可以实现集群和负载均衡,配置十分简单,不需要重启服务器,可以实现热加载通过nginx可以把本地静态资源,比如html、css、图片等虚拟化为一个服务,随后通过浏览器的URL访问到对应的资源了前端的请求会最先通过Nginx进行请求的分发,随后再把响应的请求分发到内部的计算机节点,Nginx就充当了一个负载均衡器、反向代理器等角色2. 什么是正向代理?客户端请求目标服务器的时候不是直原创 2020-05-17 16:13:12 · 127 阅读 · 0 评论