随笔分类 - Nginx
摘要:假设某个App首页前端静态资源,没有使用代理缓存,每次登陆以及其他页面操作回到首页,都需要重新全部加载静态资源,导致明显卡顿,用户体验差。代理缓存是解决该问题的方法之一。 静态资源缓存 静态文件缓存,可以减少带宽的损耗。上游服务器的文件可以缓存到Nginx,Nginx的文件也可以缓存到浏览器。 浏览
阅读全文
摘要:正向代理与反向代理 代理就是中介。 正向代理 正向代理类似一个跳板机,代理访问外部资源。正向代理的用途有: 访问原来无法访问的资源; 做缓存,加速资源访问; 对客户端访问授权、认证等 反向代理 反向代理,是指使用代理服务器接收外网的请求,然后将请求转发给内网服务器,并将服务器响应送给客户端,此时代理
阅读全文
摘要:如果是小型项目,我们直接打war包,部署到Tomcat服务器中。在有条件的情况下,我们可以将Tomcat和DB分别放到三台机器上,这种部署方式对于自己来说仍然是单体。 单体的优势在于,小团队即可完成开发-测试-上线;迭代周期短,速度快;打包方便,运维方便等。 集群的优势 随着用户增多,单体架构必然面
阅读全文
摘要:双机主备,能够保证Nginx节点的高可用,但也带来资源浪费的情况。BACKUP节点在MASTER节点正常时处于空闲状态。双机热备用来解决这个问题,如下原理图。 171和172两台机器互为主备,分别是自身的MASTER. 配置核心配置文件 keepalived.conf,130和131两台机器keep
阅读全文
摘要:当主节点Nginx挂掉,keepalived仍然存活时,此时无法访问主节点,因此需要追踪Nginx状态,配置自动重启。 1 新增Nginx状态监测与重启脚本 #!/bin/bash A=`ps -C nginx --no-header |wc -l` # 判断nginx是否宕机,如果宕机了,尝试重启
阅读全文
摘要:keepalived基于VRRP协议,组件免费,可以解决单点故障,实现高可用HA机制。keepalived可以用于解决Nginx高可用问题。 云服务器不采用keepalived,云服务厂商可能不提供虚拟IP服务,可以直接使用云负载均衡服务。 1 keepalived 1.1 VRRP协议与原理 虚拟
阅读全文
摘要:1 Nginx配置负载均衡 1.1 配置反向代理/负载均衡 配置反向代理:配置一个server虚拟主机(server 块) 用来监听端口,用来接收http请求,location 配置为 proxy_pass(代理通过) 用来表示请求转发到上游服务器 upstream。 配置多台server,便具有了
阅读全文
摘要:1 Nginx进程模型 nginx共有两种进程模型,即master和worker进程。master主进程管理worker进程。管理包含: 接收来自外界的信号,向各worker进程发送信号; 监控worker进程的运行状态,当worker进程退出后(异常情况下),会自动重新fork新worker进程。
阅读全文
摘要:负载均衡是当有大量的并发请求来到服务器的时候,我们能够把这些请求分配到多台计算机节点上,让更多的节点来处理请求和响应,如此就可以大大缩减用户请求的等待时间。 1 四层/七层负载均衡 OSI网络模型共分为七层,即从用户发起请求到服务器接收需要经过七道工序。七层从上往下分别是应用层、表示层、会话层、传输
阅读全文
摘要:当浏览器向web服务器发送请求的时候,一般会在头信息中带上Referer字段,告诉服务器我是从哪个页面链接过来的,服务器基此可以获得一些信息用于处理。基于头信息的Referer字段,nginx识别指定的Referer,在客户端请求时,通过匹配referer头域与配置,对于指定放行,对于其他refer
阅读全文
摘要:跨域问题出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚
阅读全文
摘要:文章主要分析Nginx核心配置文件 ./conf/nginx.conf 1 Nginx核心配置结构 2 配置模块详解 设置worker进程的用户,指的linux中的用户,会涉及到nginx操作目录或文件的一些权限,默认为nobody user root; worker进程工作数设置,一般来说CPU有
阅读全文