业界动态
nginx详解(概念、Linux安装、配置、应用)
2024-11-19 03:10

1.nginx是什么

百度百科

nginx详解(概念、Linux安装、配置、应用)

nginx详解(概念、Linux安装、配置、应用)

看百度百科的解释,第一句话就是错的。“Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器”,从语法来看,去掉形容词就是:Nginx是服务器,nginx怎么会是服务器呢,nginx只是一个工具,一个中间件,可以用来做反向代理,做什么反向代理?做web服务器的反向代理。这句话是有语病的,典型的句式杂糅(两个句子塞在一句话中表达,导致表述不清,会误导初学者。后面的解释也不准确(“Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器”,起码不够通俗,绕来绕去 基于此做一点补充

Nginx是一个中间件。由一个俄罗斯人开发(2004年,开发背景是解决C10k问题(10000并发量,随着nginx的不断迭代,现在主要用来做反向代理和负载均衡,由于nginx配置简单、占用内存少、并发能力强等优点广受欢迎,据统计,世界范围内的web网站,平均2个就有一个使用了nginx,充分证明了nginx的优秀和重要。

2.概念

2.1.什么是正向代理

理解反向代理不得不说正向代理,正向代理通过代理服务器屏蔽用户信息的过程。其特点是:目标服务器不知道请求用户的信息,比如请求IP。 总结发现,通过简单分类,这里面涉及到三种类型的机器,分别是:用户机器、代理机器、目标服务机器

我们上网的一般过程是,客户端发出请求,服务器接收、处理请求并做出响应,客户端接收响应展示给用户。仿佛不需要代理了,这个理解是对的,那么什么场景会用到正向代理

比如国内用户需要访问google,但是由于政策原因没有开通防火墙,国内用户访问不了google,这时还需要访问google的资源,怎样实现?可以通过在用户和google之间增加一台服务器,这台服务器开通google的防火墙,用它来接收用户的请求,并将请求转发给google,goolge接收请求响应给代理服务器,代理服务器再响应给用户。

这个过程中google不知道真实的用户信息,只知道代理服务器的请求信息(比如ip等,通过代理服务器屏蔽用户信息的过程就是正向代理

2.3.什么是反向代理

理解了正向代理后,就好理解反向代理了。反向代理通过代理屏蔽目标服务的过程。其特点是:用户不知道真实的目标服务。 反向代理的场景

一个tomcat处理500个并发,这时并发量有5000,需要搭建10个tomcat集群。这10个集群就代表10个服务,用户通过访问代理服务器,代理服务器再把请求转发给10个服务中的某一个。

对用户来说,请求的是代理服务,用户不知道代理服务会将请求下发给集群服务中具体服务。通过代理服务屏蔽真实服务的过程就是反向代理。

2.4.什么是负载均衡

通过nginx反向代理了10个服务,高并发的用户请求按什么策略下发给这10服务。使每一台机器都能饱和工作的过程就是负载均衡。

 

3.nginx的使用

3.1 安装nginx

直接下载nginx tar包,地址:https://nginx.org/en/download.html

 
3.2.Nginx配置

Nginx配置,在/usr/local/nginx/conf(nginx安装目录)下的nginx.conf

 

上述配置中的events、http、server、location、upstream等属于配置项块。而 worker_processes 、worker_connections、include、listen 属于配置项块中的属性。其中server块嵌套于http块,其可以直接继承访问Http块当中的参数。

配置块名称开头用大口号包裹其对应属性属性基于空格切分属性名与属性值,属性值可能有多个项,都以空格进行切分,如:access_log logs/host.access.log main参数其配置在块名称与大括号间,其值如果有多个也是通过空格进行拆

:如果配置项值中包括语法符号,比如空格符,那么需要使用单引号或双引号括住配置项值,否则Nginx会报语法错误。eg

 

4.ngin的应用

4.1.配置一个静态WEB服务

创建一个站点目录:mkdir -p /home/zyz/soft/web/app1 放入一个静态文件:index.html 配置nginx.conf

 

访问规则如下

 

or

 

防问规则如下

 
4.2.下载限速
 
4.3 IP黑白名单
 

eg:

 

在http模块中引入配置文件: include ip.black;

nginx详解(概念、Linux安装、配置、应用)

4.4 nginx配置负载均衡

通过proxy_pass 可以把请求代理至后端服务,但是为了实现更高的负载及性能, 我们的后端服务通常是多个, 这个是时候可以通过upstream 模块实现负载均衡。

 

upstream 相关参数: server 反向服务地址加端口 weight 权重 max_fails 失败多少次 认为主机已挂掉则,踢出 fail_timeout 踢出后重新探测时间,在单位周期为fail_timeout设置的时间,中达到max_fails次数,这个周期次数内,如果后端同一个节点不可用,那么接将把节点标记为不可用,并等待下一个周期(同样时常为fail_timeout)再一次去请求,判断是否连接是否成功。如果成功,将恢复之前的轮询方式,如果不可用将在下一个周期(fail_timeout)再试一次。 backup 备用服务,Nginx默认判断失败节点状态以connect refuse和timeout状态为准,不以HTTP错误状态进行判断失败,所有非备机都宕机或者不可用的情况下,就只能使用带backup标准的备机。 max_conns 允许最大连接数 ll+weight: 轮询加权重 (默认) ip_hash : 基于Hash 计算 ,用于保持session 一至性,不与backup一起使用 url_hash: 静态资源缓存,节约存储,加快速度(第三方least_conn :最少链接(第三方least_time :最小的响应时间,计算节点平均响应时间,然后取响应最快的那个,分配更高权重(第三方

eg:

    以上就是本篇文章【nginx详解(概念、Linux安装、配置、应用)】的全部内容了,欢迎阅览 ! 文章地址:http://sicmodule.glev.cn/news/856.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 歌乐夫资讯移动站 http://sicmodule.glev.cn/mobile/ , 查看更多   
最新新闻
支持你男人关注女人不仅仅限于你换了个新发型被他一眼看出来了
两个人的世界中,另一半能带给你什么,这很重要不同的人会带给你完全不同的恋爱体验,或欢喜,或心酸,或幸福无边,或委屈不减。
读书的好处介绍
读书的好处介绍  读书可以增加谈吐的质量和深度。 知识就像呼吸 一样,吐纳之间,方见人的气质和涵养。最不济也能唬一唬那些一
患有自闭症的6岁男孩,终于交到同龄朋友:让孩子社交需要这些技巧
最近小陀螺发现YouTube上一个很温暖的视频。(图片来源:微博截图)视频里这个6岁的自闭症男孩有位非常阳光热情的妈妈,她将孩子
菩提根戴了有什么好处
菩提根不是树根,而是一种叫做贝叶棕的种子,属于菩提子的一种。菩提根经过长时期的盘玩会变色,经过更长的时间长也可能开片,是
紫砂壶
紫砂壶在拍卖市场行情看涨,是具有收藏的“古董”,名家大师的作品往往一壶难求,正所谓“人间珠宝何足取,岂如阳羡一丸泥”。紫
阅读书籍的益处与高效阅读之道
阅读书籍,一直被视为人类文化的重要载体,也是我们获取知识、提升自我、享受文化的重要途径。书籍不仅包含了智慧,还体现了人类
女人长期佩戴“玉手镯”,真的对身体好吗?看看医生怎么说
很多女性都会戴玉手镯,其实戴着玉手镯不仅可以提高自身气质,它对于身体也有一定的作用,俗话说“人养玉三年,玉养人一生”。女
【原】怎样利用你身边的牛逼人物,让他们为你办事?有三个狠招!
有些人呢,身边有一些高级人脉,但是找不到正确的打开方式。只能一直闲置着,等它发霉、腐烂。譬如有一个客户问我:丹阳老师,我
如何提高一个人的情商?
情商有高中低之分,大部分人都是中等情商。情商高低对一个人的生活、工作影响是巨大的,所幸情商是可以提高的。文中提到《高效能
运动塑造未来:我们如何通过体育教育培养全能学生
体育可以给予孩子健康的体魄,强壮的力量,但最根本的,体育可以加深孩子对生命的理解和生活的热爱,教会孩子如何在规则的约束下
本企业新闻