Nginx服务器
主要讲解高性能的Nginx服务器的反向代理、负载均衡、阿里云部署、以及主从热备、静态分离等。
杨林伟
像火箭科学家一样思考!
展开
-
温故知新-Nginx服务器篇
01 Mind Map02 Question&AnswerQ1: DNS域名解析过程?A:Browser?LDNS?RootServer?gTLD?NameServer?。Q2: 外网映射测试用到哪些工具?A:NatApp?ngrok?。Q3: Nginx是什么?能做什么?A:web服务器?邮件服务器?反向代理?。Q4: 网络模型中的四层和七层是什么?有什么协议?...原创 2020-01-09 15:54:53 · 594 阅读 · 0 评论 -
Nginx系列教程(完) -终章总结
《Nginx系列教程》至此正式讲解完毕,本文来总结一下之前的教程知识点内容,课程系列内容如下:Nginx系列教程(01) - DNS域名解析过程Nginx系列教程(02) - 高可用与高并发介绍Nginx系列教程(03) - 外网映射(NatApp)Nginx系列教程(04) - 基础理论Nginx系列教程(05) - 虚拟主机配置Nginx系列教程(06) - 配置反向代理Ngi...原创 2019-11-19 20:27:19 · 698 阅读 · 0 评论 -
Nginx系列教程(15) - 动静分离概念
1. 动态页面与静态页面区别静态资源: 当用户多次访问这个资源,资源的源代码永远不会改变的资源。动态资源:当用户多次访问这个资源,资源的源代码可能会发送改变。2. 什么是动静分离动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路。动静分离简单的概括是:动态文件与...原创 2019-11-18 11:21:52 · 552 阅读 · 0 评论 -
Nginx系列教程(14) - LVS+KeepAlived+Nginx实现高性能负载均衡集群
阅读本文前,先看看Nginx的主从热备原理图:1. 基础概念1.1 LVSLVS 是一个开源的软件,可以实现传输层四层负载均衡。LVS是Linux Virtual Server的缩写,意思是Linux虚拟服务器。目前有三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR);八种调度算法(rr,wrr,lc,wlc,lblc,lblcr,dh,sh);1.2 Lvs与Ngi...原创 2019-11-15 18:33:13 · 507 阅读 · 0 评论 -
Nginx系列教程(13) - TCP反向代理实现
Nginx在1.9.0的时候,增加了一个 stream 模块,用来实现四层协议(网络层和传输层)的转发、代理、负载均衡等。stream模块的用法跟http的用法类似,允许我们配置一组TCP或者UDP等协议的监听,然后通过proxy_pass来转发我们的请求,通过upstream添加多个后端服务,实现负载均衡,下面我们从基础网络模型讲起:1.网络模型在前面的章节中,我们知道,网络的七层协议是这样...原创 2019-11-15 11:42:15 · 1197 阅读 · 0 评论 -
Nginx系列教程(12) - HTTP动态负载均衡(二)
在上一章《Nginx系列教程(11) - HTTP动态负载均衡(一)》我们了解到了负载均衡按静态和动态分为三种:Consul+Consul-template 每次发现配置更改需要raload nginx,重启Nginx。Consul+OpenResty 实现无需raload动态负载均衡Consul+upsync+Nginx 实现无需raload动态负载均衡并介绍了常用的服务注册于发现框...原创 2019-11-14 18:06:43 · 518 阅读 · 3 评论 -
Nginx系列教程(11) - HTTP动态负载均衡(一)
引言传统的负载均衡,如果Upstream参数发生变化,每次都需要重新加载nginx.conf文件,因此扩展性不是很高,所以我们可以采用动态负载均衡,实现Upstream可配置化、动态化,无需人工重新加载nginx.conf,类似分布式的配置中心。Consul+Consul-template 每次发现配置更改需要raload nginx,重启Nginx。Consul+OpenResty 实现...原创 2019-11-14 14:24:22 · 558 阅读 · 0 评论 -
Nginx系列教程(10) - 如何把项目部署到外网?
一般我们的开发环境都是在内网部署,但是到了真正的生产环境的时候,我们会有很多疑问?比如:如何把我们的项目部署到外网?阿里云服务器是什么?为什么这么多企业使用阿里云服务器?…带着疑问,我们来探讨解决这些问题吧????1.如何部署项目到外网?首先,如果一个项目要部署到外网,那么必须把项目部署到一台放置外网的服务器。也就是其它外部的电脑(非局域网)可以通过域名或者ip去访问(一般不用ip,容...原创 2019-11-14 11:08:28 · 3723 阅读 · 0 评论 -
Nginx系列教程(09) - rewrite
1.rewrite介绍Nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写以及重定向。关于rewrite:rewrite只能放在server{},location{},if{}中,并且只能对域名后边的除去传递的参数外的字符串起作用。rewrite主要的功能就是实现URL的重写,Nginx的Rewrite规则采用Pcre,perl兼容正则表达式的语法规则匹配,如果...原创 2019-11-13 18:05:32 · 555 阅读 · 0 评论 -
Nginx系列教程(08) - Upstream Server 负载均衡
1.Upstream Server简介Upstream Server 中文翻译上游服务器,意思就是负载均衡服务器设置,白话文表示(就是被nginx代理最后真实访问的服务器)。负载均衡算法:配置多个上游服务器(真实业务逻辑访问的服务器)的负载均衡机制。失败重试机制:当上游服务器出现超时或者服务器不存活,是否考虑重试机制(补偿机制)。服务器心跳检测: 上游服务器监控检测、心跳检测。...原创 2019-11-13 17:21:07 · 8023 阅读 · 0 评论 -
Nginx系列教程(07) - Location正则表达式
1. Location的作用Location指令的作用是根据用户请求的URI来执行不同的应用,也就是根据用户请求的网站URL进行匹配,匹配成功即进行相关的操作。2.Location的语法以=开头表示精确匹配,如 A 中只匹配根目录结尾的请求,后面不能带任何字符串。^~开头表示uri以某个常规字符串开头,不是正则匹配~ 开头表示区分大小写的正则匹配;~* 开头表示不区分大小写的正则匹配...原创 2019-11-13 16:03:18 · 579 阅读 · 0 评论 -
Nginx系列教程(06) - 配置反向代理
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。例如:启动一个Tomcat (127.0.0.1:8080),使用nginx反向代理直接跳转到127.0.0.1:8080,流程如下图所示:那么该如何实...原创 2019-11-13 15:52:40 · 433 阅读 · 0 评论 -
Nginx系列教程(05) - 虚拟主机配置
前言关于Nginx虚拟主机的配置,可以分为以下三种方式:基于域名的虚拟主机,通过域名来区分虚拟主机(主要应用外部网站)基于端口的虚拟主机,通过端口来区分虚拟主机(主要应用于公司内部网站,外部网站的管理后台)基于ip的虚拟主机,几乎不用下面主要针对于前两种方式来讲解。本文目录结构:l____1.基于域名配置虚拟主主机l_______1.1 环境准备l_______1.2 htm...原创 2019-11-13 15:19:49 · 472 阅读 · 0 评论 -
Nginx系列教程(04) - 基础理论
在做微信开发或者是对接第三方支付接口时,回调接口可能需要外网访问(内网穿透)。这时候开发者在本地测试的时候,需要用到外网测试工具。平时常用的外网测试工具有natapp、ngrok,下面我们主要来讲讲NatApp。NatApp官网地址:https://natapp.cn/1.注册账号注册账号需要实名制,注册地址:https://natapp.cn/register按照常规的一步一步来操作...原创 2019-11-13 13:54:10 · 650 阅读 · 0 评论 -
Nginx系列教程(03) - 外网映射(NatApp)
Nginx基础知识在《分布式电商项目》里有讲过,如果没有Nginx基础的同学,可以按以下顺序阅读:1. nginx介绍2. 正向代理与反向代理区别3. Linux下安装nginx(超详细)4. nginx配置虚拟主机概述5. nginx基于域名配置虚拟主机6. nginx基于端口配置虚拟主机7. nginx+tomcat反向代理8. nginx实现负载均衡9. nginx编译参...原创 2019-11-11 16:06:35 · 2177 阅读 · 2 评论 -
Nginx系列教程(02) - 高可用与高并发介绍
01 大型网站系统的特点高并发,大流量:需要面对高并发用户,大流量访问。举个例子,去往迪拜的飞机有200张票,但是有100w人都挤进系统买票,如何让这100w人能够看到票务的实时更新,以及顺利的买到一张票,都是一个网站架构师应该考虑的问题。这也许对于淘宝的“双十一”1000w的一分钟独立访问用户量来说,是个微不足道的数字,但是对于用户的体验以及网站的口碑来说,都是一项不小的挑战。高可用:相对于...原创 2019-11-11 15:35:17 · 585 阅读 · 0 评论 -
Nginx系列教程(01) - DNS域名解析过程
DNS域名解析整个过程大体描述如下,其中前两个步骤是在本机完成的,后8个步骤涉及到真正的域名解析服务器:1.浏览器会检查缓存中有没有这个域名对应的解析过的IP地址,如果缓存中有,这个解析过程就结束。浏览器缓存域名也是有限制的,不仅浏览器缓存大小有限制,而且缓存的时间也有限制,通常情况下为几分钟到几小时不等,域名被缓存的时间限制可以通过TTL属性来设置。这个缓存时间太长和太短都不太好,如果时间太...原创 2019-11-11 14:45:55 · 1395 阅读 · 0 评论