代理服务器地址在哪里看_看完这篇还不了解Nginx,那我就没你办法了
文章来自:php自学中心
链接:http://www.startphp.cn/front/skill/0211141.html
作者:yang商务合作:请加微信(QQ):2230304070
视频教程推荐
1 在CentOS7系统下如何搭建ElasticSearch
2 你的定时任务有没有用到脚本shell?
3 那年的算法与数据结构,我就考了60分
4 阿里云环境搭建以及项目上线还有谁不会的?
5 PHP程序员是否要学习Linux课程?
精选文章正文
Nginx 其实就是一款轻量级的 Web 服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。
那么你可能会问了:“不是说 Nginx 吗?怎么又扯出来一个 Web 服务器呢?啥是服务器?”。别着急,在学习 Nginx 之前你还真得知道什么是服务器这个概念,下面我们先来看下到底啥是服务器。
啥是服务器
服务器的英文叫 Server
, 顾名思义就是为其他人服务
的。我们可以把所有为其他用户提供服务的机器或软件都称作服务器
。
Server
可以指硬件,比如谷歌公司对用户提供服务的主机,下图是谷歌公司的一个数据中心图片,走道两侧亮着红黄蓝颜色的笨重机器就是服务器。Server
也可以是一个软件。比如我们本次专栏要介绍的Nginx
,它就是一个对用户提供HTTP
服务的Server
。又比如我们常听到的网易邮箱服务器,它就是专门为用户提供邮件服务的。这些软件都运行在一个个物理机器上面,专门对外提供对应的服务。
WEB服务器
我们上面唠叨了一下什么是服务器。下面我们说一下啥是 Web 服务器,在上面我们也说了 Nginx 其实就是一个 轻量级的 Web 服务器,那么什么是 Web 服务器呢?我们平时可以打开浏览器访问微博的网站,获取各种娱乐圈各种劲爆消息。这个看似简单的行为,背后有隐藏了那些细节呢?
上图就是一个典型的 web
请求流程,主要分为五个步骤:
- 浏览器本身作为一个客户端,当你输入
www.weibo.com
的时候,向DNS
服务器发出域名请求服务; DNS
服务器将域名将对应的IP
地址返回给浏览器;- 浏览器使用
IP
地址找到对应的服务器后,建立TCP
连接,向服务器发送HTTP
请求; - 服务器接收到请求之后才开始处理,返回
HTTP
响应; - 浏览器收到来自服务器的响应后开始渲染页面,最后断开与该服务器之间的
TCP
连接。
我们所介绍的 Web
服务器就是在第 3 和 4 步骤中发挥作用的。它的作用很简单,概括地讲,主要完成三个工作:
- 接收请求;
- 处理请求,生成响应 ;
- 发送响应。
哈哈,当然了,一个成熟的
Web
服务器肯定还有其他各种各样的功能,但是原理都是一样。所以,一定要淡定,学会Web
服务器并没有想象中的那么困难。
WEB服务器的分类
其实,现在的市面上面有很多类似于 Nginx 的 Web 服务器,如下图:
几款服务器比较
下面我们简单地比较一下几款流行的 Web
服务器软件的区别。
Apache 是一款历史悠久的开源
Web
服务器软件。拥有很多的第三方模块,你想使用的功能基本上都可以找到,避免自己重复造轮子。采用多进程方式处理请求,每个请求都对应于一个进程。在高并发的情况下,多进程处理方式特别的消耗资源,所以天然不适合高并发场景;
Nginx 是年轻(相比
Apache
)的开源Web
服务器软件。它也采用 C 语言编写,代码运行效率很高。它采用了epoll
(以Linux
为例) 事件处理机制作为模型,能够保证非常高的并发量;
IIS
是微软的Web
服务器软件,这个可是收费的哦~~~
我们看一下 Netcraft
公司在2019年7月份统计的全球 Web 服务器占用率调查:
从这两张图中可以看到,Nginx 开发者数量已经明显的超过了其他 Web Server
开发者数量,独占鳌头。在 Web Server
市场使用率中,Nginx 的占有率一直在稳步的上升,超过了 IIS,与 Apache 的差距越来越小。所以,使用和学习 Nginx 已经成为每一个后端工程师必备的技能了。好了,铺垫了这么多,下面我们正式来看下 Nginx 倒底是个什么东西。
Nginx简介
Nginx
是由战斗民族的一位名叫 Igor Sysoev
的程序猿开发的,开源、高性能的 HTTP
服务器和反向代理服务器,也可以作为一个 IMAP/POP3
代理服务器。也就是说,Nginx
不仅可以托管网站,进行HTTP
服务处理,还可以作为反向代理服务器。Nginx 出现的初衷是为了解决著名的 C10K
问题而出现的。和传统的 Web Server
不一样,Nginx
使用了异步事件处理机制架构。这种架构可以轻松高效地处理大量的请求,并且非常的节省内存。高性能是Nginx
最大的优点。
啥?不知道什么是
C10K
问题,我严重怀疑你是从外星球来的,来,看这里。不知道什么是异步事件
处理机制?没关系,我会在后面的小节中分析的,包学会。
为什么选择Nginx
- 占用内存小。这得益于 Nginx 使用 C 语言编写,能够高效使用 CPU、内存等系统资源。并且作者自己造了很多的轮子 , 比如 Nginx 自己实现了内存管理系统,动态数组机制等。Nginx 作者对内存的使用控制简直到了丧心病狂的地步,所以非常的节省系统资源,特别是内存;
- 高并发。在 Linux 系统上,Nginx 使用了 epoll 机制,能够高效处理大量的连接数。理论上,Nginx 可以同时处理的最大连接数取决于你的机器的物理内存,上不封顶;
- 高可靠性。我认为 Nginx 的高可靠性主要体现在两方面:(一):Nginx 使用了 Master-Worker 机制,真正处理请求的是
Worker
进程。Master
进程可以监控Worker
进程的运行状况,当某个Worker
进程因意外原因退出的时候,Master
会重新启动Worker
进程;(二):Nginx 的内部框架非常优秀。它的各个模块都非常简单,所以也非常的稳定。 - 热部署。可能大家觉得这个原因并不重要,其实在实际的线上环境是非常重要的。代码上线之后,我们只需要执行
nginx -s reload
命令就可以完成 Nginx 的重启,其他的交给 Nginx 就可以了,你可以安心去喝咖啡了。
如果没有亲身体验过这种痛苦,你是无法理解的这是多么痛的领悟。
Nginx能干啥
上面我们 ‘吹嘘’ 了 Nginx 的这么多优点,那么 Nginx 究竟能干什么呢?
HTTP
服务器。作为一款优秀的Web
服务器,那么提供HTTP
服务显然是它的首要任务;- 负载均衡。Nginx 提供了多种负载均衡策略,实现了7层负载均衡。针对不同的情形,我们可以选择合适的策略。另外我们也可以自己实现特殊需求的负载均衡策略;
- 反向代理。Nginx 是一款非常优秀的反向代理服务器。
以上是本文的全部内容,希望对大家的学习有帮助,也希望大家多多支持 php自学中心
代理服务器地址在哪里看_看完这篇还不了解Nginx,那我就没你办法了相关推荐
- 第六十二期:看完这篇还不了解Nginx,那我就哭了!
看完这篇还不了解Nginx,那我就哭了! Nginx 同 Apache 一样都是一种 Web 服务器.基于 REST 架构风格,以统一资源描述符(Uniform Resources Identifie ...
- 看完这篇还不了解Nginx,那我就哭了!
戳蓝字"CSDN云计算"关注我们哦! 作者 | 蔷薇Nina 责编 | 阿秃 想必大家一定听说过 Nginx,若没听说过它,那么一定听过它的"同行"Apache ...
- 电脑位数怎么看_看完了这篇文章你就知道怎么选电脑了...
电脑成为人们日常生活中.工作中不可或缺的一部分,很多朋友都不了解电脑怎么买,怎么选择才好. 选购电脑重要的几点: ①预算(千百块有千百块的电脑,三五千有三五千的电脑,七八千有七八千的电脑) ②用途(不 ...
- 为什么子进程每次执行顺序不一样_看完这篇还不懂Redis的RDB持久化,你来打我...
推荐观看: Redis缓存穿透的终极解决方案,手写布隆过滤器_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliwww.bilibili.com P8架构师串讲:Redis,zookeeper,ka ...
- excel正在等待某个应用程序以完成对象链接与嵌入操作_看完这篇操作系统,和面试官扯皮就没问题了
各位看官内容喜欢的话,动动手指点个 ,点个关注呗!!谢谢支持! 解释一下什么是操作系统 操作系统是运行在计算机上最重要的一种软件,它管理计算机的资源和进程以及所有的硬件和软件.它为计算机硬件和软件提供 ...
- torch的model加载完怎么看_看完这篇后,别再说你不懂JVM类加载机制了~
精彩推荐 一百期Java面试题汇总SpringBoot内容聚合IntelliJ IDEA内容聚合Mybatis内容聚合 Class类文件的结构 任何一个Class文件都对应着唯一一个类或接口的定义信息 ...
- netty发送数据_看完这篇还不清楚Netty的内存管理,那我就哭了
说明 在学习Netty的时候,ByteBuf随处可见,但是如何高效分配ByteBuf还是很复杂的,Netty的池化内存分配这块还是比较难的,很多人学习过,看过但是还是云里雾里的,本篇文章就是主要来讲解 ...
- 怎么能把看不清的照片给看清_拍完照不会后期怎么办?教你一个懒人办法,能帮照片变“高级”...
还记得我曾经说过,最方便.效果最好.最容易被人所忽略的后期方法是什么吗? 剪裁啊! 本期,又要回归这一主题了. 虽然剪裁说起来简单, 但运用的对象,却是千差万别. 而解决的问题,也是各有不同. 可以说 ...
- 看完这篇文章,跟面试官扯皮就没问题了
认识 HTTP 首先你听的最多的应该就是 HTTP 是一种 超文本传输协议(Hypertext Transfer Protocol),这你一定能说出来,但是这样还不够,假如你是大厂面试官,这不可能是他 ...
最新文章
- idea崩溃导致的svn插件丢失问题, maven dependencies视图丢失问题
- 盘点深度学习中的各种数据增强技巧
- Java集合之ArrayList源码解析
- Machine Learning机器学习公开课汇总
- 专访 | 执拗、纯粹的网易阮良,和他的梦想团队
- 有关eclipse for java ee版本遇到的坑( Context initialization failed)
- Spring boot 配置tomcat后 控制台不打印SQL日志
- PHP json_encode后的数据有的大括号于中括号
- python selenium加速_selenium2.0环境搭建(一)
- UVa 400 Unix Is
- 工欲善其事必先利其器——开发篇
- 超级搜索术-思维导图
- Win10如何开启IIS服务以及如何打开IIS管理器
- unity 随机获取三个字的名字
- 服务器网卡支持热插拔吗,HDMI接口能“热插拔”吗?这篇告诉你
- Nginx事件管理之epoll模块
- java 配置文件加密_Java在配置文件中加密密码?
- Kaop打印项之表格
- ROS人机交互软件开发
- Dubbo host配置映射内网IP导致消费者无法连接到生产者提供的服务详解
热门文章
- 为什么`malloc`出来的内存也能当成对象正常使用
- 23种设计模式C++源码与UML实现--享元模式
- Redundant Binary Upload. There already exists a bi
- 「 每日一练,快乐水题 」258. 各位相加
- C/C++多线程编程之一】VC6.0安装pthread
- PyTorch基础(13)-- torch.nn.Unfold()方法
- C语言再学习 -- 位操作
- 【译】zkSNARKs in a nutshell
- Calling JNI Functions with Java Object Arguments from the Command Line
- Android上玩玩Hook?