最基础的Nginx教学

欢迎关注我的个人公众号:周先生自留地,简书文章不定时更新。

NginxApache一样都是一种WEB服务器。基于REST架构风格,以统一资源描述符URI或者统一资源定位符URL作为沟通依据,通过HTTP协议提供各种网络服务。然而,这些服务器在设计之初受到当时的用户规模,网络带宽,产品特点等局限并且各自的定位和发展都不尽相同。这也使得各个WEB服务器有着各自鲜明的特点。Apache的发展时期很长,它有着很多优点:稳定、开源、跨平台等等。所以它被设计为一个重量级的WEB服务器,但是它不支持高并发。在Apache上进行并发访问,会导致服务器消耗大量内存。操作系统对其进行进程或线程间的切换也消耗了大量的CPU资源,导致HTTP请求的平均响应速度降低。这时候轻量级高并发服务器Nginx就应运而生了。

Nginx为什么会火爆互联网呢?正是由于Nginx的几大显著的特点存在:

Nginx使用基于事件驱动架构,使得其可以支持数以百万级别的TCP连接

高度的模块化和自由软件许可证是的第三方模块层出不穷

Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;

同时也是一个IMAP、POP3、SMTP代理服务器;

Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。而说到代理,又分为正向代理与反向代理。

正向代理

正向代理也是大家最常接触的到的代理模式,那究竟什么是正向代理呢?我们都知道Google在国内是无法正常访问的,但是某些时候我们由于技术问题需要去访问Google时,我们会先找到一个可以访问Google的代理服务器,我们将请求发送到代理服务器,代理服务器去访问Google,然后将访问到的数据返回给我们,这样的过程就是正向代理。

正向代理的特

正向代理最大的特点是客户端需要明确知道要访问的服务器地址,Google服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体的客户端,正向代理可以隐藏真实客户端的具体信息。

客户端必须设置正向代理服务器,而且需要知道正向代理服务器的IP地址以及代理程序的端口。一句话来概括就是正向代理代理的是客户端,是一个位于客户端和Google服务器之间的服务器,为了从Google服务器取得数据,客户端向代理服务器发送一个请求并指定目标(Google服务器),然后代理向原始服务器转交请求并将获得的数据返回给客户端。

正向代理的使用:

访问国外无法访问的网站

做缓存,加速访问资源

对客户端访问授权,上网进行认证

代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

反向代理

说完了什么是正向代理,我们接下来看看什么叫做反向代理,如果我们网站每日访问量达到某个上限,单个服务器远远不能符合我们日常需求,这时候我们首先会想到分布式部署。通过部署多台服务器来解决访问人数限制的问题,然后我们功能其实大部分都是通过Nginx反向代理来实现的。我们可以看下图:

反向代理的特

我们可以清楚的看到,多个客户端给服务器发送的请求,Nginx服务器接收到请求以后,按照一定的规则转发到不同的服务器进行业务逻辑处理。此时请求来源于哪个客户端是确定的,但是请求由哪台服务器处理的并不明确,Nginx扮演的就是一个反向代理角色。可以这样来理解,反向代理对外都是透明的,访问者并不知道自己访问的是一个代理。反向代理代理的是服务端,主要用于服务器集群分布式部署的情况下,反向代理隐藏了服务器的信息。

反向代理的使用:

保证内网的安全,通常将反向代理作为公网访问地址,Web服务器是内网

负载均衡,通过反向代理服务器来优化网站的负载

正向代理与反向代理区

在正向代理中,隐藏了请求来源的客户端信息;

在反向代理中,隐藏了请求具体处理的服务端信息;

负载均衡

Nginx既然扮演了反向代理的角色,它是以依据什么样的规则进行请求分发的呢?分发的规则是否可以控制呢?负载量按照一定的规则进行分发到不同的服务器处理的规则,就是一种均衡规则。将服务器接收到的请求按照规则分发的过程,称为负载均衡。

Nginx支持的负载均衡调度算法方式如下:

weight轮询(默认):接收到的请求按照请求顺序逐一分配到不同的后端服务器,如果在使用过程中,某一台服务器宕机,Nginx会自动将该服务器剔除出队列,请求受理情况不会受到任何影响。这种方式下,可以给不同的后端服务器设置一个权重值,权重数据越大,服务器被分配到请求的几率越大。

ip_hash:每个请求按照发起客户端的iphash结果进行匹配,这样的算法下一个固定ip地址的客户端总会访问到同一个后端服务器。

fair:智能调整调度算法,动态的根据后端服务器的请求响应时间进行均衡分配,响应时间短处理效率高的服务器分配到请求的概率高,响应时间长处理效率低的服务器分配到的请求少。

url_hash:按照访问的urlhash结果分配请求,每个请求的url会指向后端固定的某个服务器,可以在Nginx作为静态服务器的情况下提高缓存效率。

注意:

Nginx默认不支持fair算法,如果要使用这种调度算法,需要安装upstream_fair模块。

Nginx默认不支持url_hash调度算法,要使用的话需要安装Nginx的hash软件包。

作为一个Nginx的使用者,在编写配置文件肯定出现过问题,可能经常需要将大量时间花费在配置文件编写上面。所以接下来顺便介绍一个在线快速生成Nginx配置文件的网站:

https://nginxconfig.io/

这个网站支持http,https,php,python,Node,缓存,日志等各种配置选项,可以在线生成Nginx的配置文件。而且使用方法极其简单,只需要在网站内填写对应的需求,就可以一键生成配置文件。

参数说明:

Domain:绑定的域名

Path:根目录所在

Documentroot:根目录下的实际项目名称

Redirect subdomains:如果访问*.niyueling.cn会重定向跳转到niyueling.cn

然后在下面就可以生成对应的nginx配置文件。我们可以下载zip包或者直接复制替换我们的配置文件:

然后替换结束服务器nginx的配置文件,使用nginx -t命令测试文件是否存在问题,若配置文件没问题,则使用 nginx -s reload命令重启服务器。替换之前为了确保不会发生意外,最好提前做好配置文件的备份。

 如果喜欢我的文章,欢迎关注我的个人公众号:周先生自留地


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,165评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,503评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,295评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,589评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,439评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,342评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,749评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,397评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,700评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,740评论 2 313
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,523评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,364评论 3 314
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,755评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,024评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,297评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,721评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,918评论 2 336

推荐阅读更多精彩内容