当前位置: 澳门新濠3559 > 服务器运维 > 正文

中国大陆使用nginx网站用户有,主要是因为自己喜

时间:2019-11-16 22:36来源:服务器运维
在上一篇《Nginx风头正劲,Apache和IISWeb服务器遇到对手》文章中,我们介绍了在Web服务器系统管理员有了更多的选择;主要的替代服务器之一:开源NginxWeb服务器正在迅速发展起来。本文

在上一篇《Nginx风头正劲,Apache和IIS Web服务器遇到对手》文章中,我们介绍了在Web服务器系统管理员有了更多的选择;主要的替代服务器之一:开源Nginx Web服务器正在迅速发展起来。本文介绍了如何在笔记本电脑上,通过Nginx处理每秒10000个请求的繁重任务。

Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。

说到Web服务器,Apache服务器和互联网信息服务系统(IIS)服务器是两大巨头;但是运行速度更快、更灵活的对手:Nginx正在迎头赶上。

在开始文章之前,先讲一些闲言。之所以学习.net网页编程,主要是因为自己喜欢制作网页的过程,并且享受用html代码来完成突如其来的idea的过程,但是完成了网页别人不能使用也是一种遗憾,所以就得靠其他知识了,其中就包括使用.net进行网页制作。需要说明的是,我是一个初学者,在弄清楚这部分知识之后,将自己对于这部分知识的理解以及学习过程中遇到的问题写下来,供大家参考。必不可免,自己会有一些学习上的错误,如果读者在参考过程中发现这些错误,欢迎指正。

说得好听点,我是个不大专业的系统管理员。我年轻时从事技术支持,后来在一个运行几个UNIX系统的Windows部门担任管理员工作,这些系统大多放置在装有空调的清洁机房里,由上了年纪的员工负责维护。直到我开始管理企业级存储设备,才慢慢领教了bash外壳程序的强大功能,我那个拼凑起来的家庭网络慢慢由支持几台个人电脑的Windows 2003域变成了GNU/Linux服务器和OS X台式机及笔记本电脑组成的混合环境。

简介

过去的日子对Web服务器管理员来说轻松得很。如果你管理的部门使用Windows,就使用IIS服务器;如果不是,就使用Apache服务器。而现在,你在Web服务器方面有了更多的选择;主要的替代服务器之一:开源Nginx Web服务器正在迅速发展起来。

 

图片 1

Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:新浪、网易、 腾讯等。

据知名的Web服务器分析公司Netcraft声称,Nginx正在迅速追赶这两大传统服务器;使用Nginx的Web域名系统超过了4000万个,约占Web域名系统总数的8.5%。的确,Netcraft的分析师们认为,“按目前的趋势发展下去,Nginx很快就会超过微软,拥有数量第二多的活动网站。”

第一步的学习,必须清晰相关概念。

 

首先,传输相关概念的解读。相对而言,网站网页比较容易理解,网站是指网页的集合,可以方便地对网页进行管理。网页是用html等工具制作的用于展示特定内容的文档,其可分为静态页和动态页。静态页内容是预先确定的,并存储在Web服务器或者本地计算机/服务器之上。动态网页,是取决于由用户提供的参数,并根据存储在数据库中的网站上的数据中创建的页面。通俗地讲,静态页是照片,每个人看都是一样的,而动态页则是镜子,不同的人(不同的参数)看都不相同。

 

本地客户端或本地浏览器均是指用户(也就是我们)正在使用的电脑上的浏览器,比如ie、firefox、Google等;web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个Web服务器是Apache、Nginx、IIS。(web服务器概念是我从百度百科上粘贴过来的,概念中的web客户端指的是上文所说的本地客户端或本地浏览器)简单来说,用户访问一个网页的过程如下图所示:

图片 2

 

图中的文档一般是指网页,所以我们在完成一个页面(比如说index.html)之后,为了让其他人可以浏览,必须将其上传至特定web服务器。其他用户通过使用浏览器,向服务器发出web请求,服务器找到index.html文件,然后将其发送到用户的浏览器,浏览器通过解释html代码,将整个页面呈现出来。而我们使用网页编辑工具,比如sublime text或者Dreamweaver编辑好页面之后,直接在本地浏览器上观看的过程和上述过程没有任何联系,初学者需要注意。

读到这里,应该比较清楚知道web服务器的作用了。Web服务器是一段程序,在客户端请求之后为客户端提供文档或其他数据文件。这种简单解释对于之后理解Apache和IIS会有帮助。

之前所说,三个主流web服务器分别是Apache、IIS和Nginx,Nginx适用于linux和Unix系统,故此本文将不介绍。IIS支持ASP语言环境,本文将重点介绍IIS,并对Apache和IIS进行比较。

IIS(Internet InformationServer,互联网信息服务)是微软公司的web服务器,其是一种Web(网页)服务组件中国大陆使用nginx网站用户有,主要是因为自己喜欢制作网页的过程。,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。

 

与大多数人一样,我最后也决定把自己的网站放到互联网上,于是我使用Apache HTTP服务器来托管该网站。原因何在?因为我眼前就有一套Ubuntu服务器设备,而Apache服务器是我听到次数最多的Web服务器。既然Apache对大型网站来说都足够好,它对我这个小小的静态个人网站来说理应足够好,不是吗?

优点

图片 3

Apache和IIS比较:

 

如果是基于Linux平台的话,那不必多说自然是Apache了,因为IIS只能在Windows环境下运行,而Linux+Apache的整体性能、安全性、通用性也都强于Windows 2003+IIS 6.0,不过如果在Windows 2003的服务器上,IIS 6.0和Apache 2.2.6到底哪个性能最好呢?有大神做过测试,如果一个网站的大部分页面都是静态页面,那么Apache和IIS两者性能基本相同。而如果动态页面居多,那如果都在windows 2003服务器上,微软IIS比Apache性能好,但是Apache比较稳定,而IIS有时假死。对于其功能的详细说明和比较,本文将不再赘述,有兴趣的读者可以参考“一梦三四年”的博客:“web服务器之IIS,apache,tomcat三者之间的比较”,地址为:.

IIS配置:

对于IIS的配置过程,网上教程很多,本文不在赘述。我的电脑是windows8.1,64位操作系统,参考网址如下:.

在配置完成之后,在浏览器输入栏中输入:192.168.191.1:81(本机ip+端口,端口默认为80,此处我将其设计为81,对测试结果不影响),就可以预览之前完成的页面。此时,用另一台电脑,ip任意,都可访问该网页。(注意:必须关闭配置电脑的防火墙,其他电脑才可访问)这个时候,如果用配置电脑中的浏览器直接访问,那么配置电脑既是web服务器,也是客户端;如果用其他电脑访问,那么其他电脑是客户端,配置电脑是服务器。

图片 4

以上就是简单的访问web服务器的过程。在这,推荐一部非常详细的关于访问web服务器的过程的文章,文章中专业术语较多。

 

 

但没想到,Apache对我来说不太好用。下面介绍了具体原因——我用了一个周末的时间扔掉原先安装的Apache服务器,换成了Nginx的Web服务器:其守护程序占用资源少,运行速度快。

Nginx 可以在大多数 Unix like OS 上编译运行,并有 Windows 移植版。 Nginx 的1.4.0稳定版已经于2013年4月24日发布,一般情况下,对于新建站点,建议使用最新稳定版作为生产版本,已有站点的升级急迫性不高。Nginx 的源代码使用 2-clause BSD-like license。

Nginx能取得今天这样的成绩,归因于它的运行速度确实很常快。这家分析公司声称,Nginx在同样的硬件上可以提供快10倍的性能。这番话的真实性无从考证;不过我的确知道在我自己的服务器上,Nginx的运行速度的确很快,耗用的资源却比Apache或IIS服务器少得多。能有如此傲人的表现,归因于它是基于事件的。这意味着,Nginx并不为每一个网页请求创建新的进程或线程。最终结果就是,即使负载加大后,内存方面的使用仍是可以预测的。

其次,是对代码相关概念的解读。这些概念包括:HTML代码、JS代码、HTML控件、HTML服务器控件、Web服务器控件以及他们的区别。

 

1、HTML代码:

HTML是指超文本标记语言,是构成网页文档的主要语言。HTML的结构包括头部(Head)、主体(Body)两大部分,它是一种描述性文本,由HTML命令组成,用来说明文本、图形、动画、视频等在网页上如何显示。需要说明的是,HTML代码需要浏览器来解读才能将内容显示给用户。

 

2、JS代码:

JS即Javascript,Javascript是一种由Netscape的LiveScript发展而来的脚本语言,主要目的是为了解决服务器终端语言,比如Perl,遗留的速度问题。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。(参考百度百科)

HTML代码和JS代码的区别:

不同点:扩展名不同、运行环境不同(HTML:浏览器、JS:JS解释器)

相同点:都是客户端代码

 

3、HTML控件、HTML服务器控件以及Web服务器控件及区别:

Html控件和html服务器控件主要区别在于:Html服务器控件多了runat=”server”属性;

Html控件运行在客户端,html服务器控件运行在服务器端;当ASP.NET 网页执行时,会检查标注有无runat 属性,如果标注没有设定,那么Html标注就会被视为字符串,并被送到字符串流等待送到客户端,客户端的浏览器会对其进行解释;如果Html标注有设定runat="server" 属性,Page 对象会将该控件放入控制器,服务器端的代码就能对其进行控制,等到控制执行完毕后再将Html服务器控件的执行结果转换成Html标注,然后当成字符串流发送到客户端进行解释。

ASP.NET服务器控件和HTML服务器控件不同点主要在于事件处理模型不同。Html标注和Html服务器控件的事件处理都是在客户端的页面上,而Asp.net服务器控件则是在服务器上,举例来说:

< input id="Button4" type="button" value="button"runat="server"/>

是Html服务器控件,此时我们点击此按钮,页面不会回传到服务器端,原因是我们没有为其定义鼠标点击事件。

我们为Html服务器控件添加了一个onserverclick事件,点击此按钮页面会发回服务器端,并执行test(object sender, EventArgs e)方法。

是Asp.net服务器控件,并且我们没有为其定义click,但是我们点击时,页面也会发回到服务器端。

 

4、服务器代码和客户端代码的区别:

客户端代码是指运行在客户端浏览器中的代码,如html静态网页文件中的javascript或vbscript脚本代码,使用时要用<scriptlanguage=javascript> 和</script>将代码括起来,当用户访问到服务器上的这种文件时,服务器会将文件找到后直接发到客户端,客户在浏览器中就可以看到这种文件的结果.

如:

<scriptlanguage=javascript> document.write("这是用客户端脚本代码完成的") </script>

服务器端代码是指运行在服务器上的文件中的代码,如动态网页asp文件,也可以是javascript或vbscript脚本代码,但是代码要用<script language=JavaScript runat=Server> 和</script>,或者用将代码括起来,当用户访问这种文件时,服务器找到后会先在服务器上运行该文件,并将运行的结果动态地生成html文件,再发送到客户端,用户在浏览中就能看到它的运行结果了.%和%>

Web服务器遇到对手》文章中,我们介绍了在Web服务器系统管理员有了更多的选择;主要的替代服务器之...

Nginx 是一个很强大的高性能Web和反向代理服务器,它具有很多非常优越的特性:

Nginx还可以用来改进性能,因为它可以作为反向代理系统来使用。在这种模式下,Nginx在用户们看来完全如同另一台Web服务器。不过在幕后,该反向代理系统用来对几个后端服务器之间的Web请求进行负载均衡,或者为一台速度比较慢的后端服务器提供缓存机制。

在高连接并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数的响应,感谢Nginx为我们选择了 epoll and kqueue作为开发模型。

最终结果就是,借助极少的硬件资源,Nginx就能提供非常快、非常稳定的Web服务。反正,信不信由你。在全球前1000大Web服务器当中,22.4%使用Nginx。这些服务器包括诸如Facebook、Hulu和WordPress之类的网络巨头使用的服务器。

服务器

现在,Nginx还有一些资金帮助自己赢得更多的客户。这家公司刚刚从BV Capital、Runa Capital以及与MSD Capital有关联的一家风险投资机构处获得了数额达300万美元的第一轮资金,资金已全部到位。顺便说一下,MSD Capital是戴尔公司首席执行官Michael Dell的私人投资公司。这笔资金将用于支持这家公司计划设立新的商业部门:Nginx Inc.,以及将触角扩大到美国市场。

Nginx作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP代理服务器对外进行服务。Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多。

这些知名投资机构之所以注资Nginx,是因为正如BV Capital的共同创办人Thomas Gieselmann在声明中所言:“我们注资的几家公司把各自的Web平台改用Nginx后,都解决了重大的扩展问题。Nginx能够透明而高效地让如今互联网上最庞大的网站获得发展。”

代码

有了这笔资金,Nginx团队计划在今年年底之前开设建在旧金山的新总部;2012年年中之前,这家公司将提供它所说的“商业级连接处理和优化软件平台;这个平台能够为主机托管、云计算和企业服务器基础架构,带来高级的性能、流量管理、扩展配置和安全等功能。Nginx还将提供灵活的选择方案,以便将安装的现有Web系统升级到现代化、高效、高密度的Web软件。”简而言之,Nginx正将其开源项目直接锁定企业Web服务器市场的高端部分。

Nginx代码完全用C语言从头写成,已经移植到许多体系结构和操作系统,包括:Linux、FreeBSD、Solaris、Mac OS X、AIX以及Microsoft Windows。Nginx有自己的函数库,并且除了zlib、PCRE和OpenSSL之外,标准模块只使用系统C库函数。而且,如果不需要或者考虑到潜在的授权冲突,可以不使用这些第三方库。

从NGINS大行其道、IIS日渐式微的情形来看,我预计Nginx很可能在2012年年底之前一跃成为全球第二大Web服务器。只要你的工作与Web服务有关,现在就应该关注Nginx。它会成为你将来生活中的一部分。

邮件代理服务器

图片 5

作为邮件代理服务器:Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last. fm 描述了成功并且美妙的使用经验。

Nginx 是一个安装非常的简单,配置文件非常简洁(还能够支持perl语法),Bugs非常少的服务器:Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。

支持的操作系统

FreeBSD 3.x,4.x,5.x,6.x i386; FreeBSD 5.x,6.x amd64;

Linux 2.2,2.4,2.6 i386; Linux 2.6 amd64;

Solaris 8 i386; Solaris 9 i386 and sun4u; Solaris 10 i386;

MacOS X (10.4) PPC;

Windows XP,Windows Server 2003和Windows 7中。

版权声明:本文为博主原创文章,未经博主允许不得转载。

编辑:服务器运维 本文来源:中国大陆使用nginx网站用户有,主要是因为自己喜

关键词:

  • 上一篇:没有了
  • 下一篇:没有了