Nginx安装配置与服务搭建

  • 来源:
  • 更新日期:2018-04-24

摘要:摘要: Nginx是由俄罗斯软件工程师Igor Sysoev开发的一个高性能的HTTP和反向代理服务器,具备IMAP/POP3和SMTP服务器功能。Nginx最大的特点是对高并发的支持和高效的负载均衡,在高并发的需求场景下,是Apache服务器不错的替代品。目前,包括新浪、腾讯等知名网站已经开始使用Nginx作为Web应用服务器。本专题总结了Nginx的安装配置以及服务搭建。

Nginx(发音同engine x)是一款由俄罗斯程序员Igor Sysoev所开发轻量级的网页服务器、反向代理服务器以及电子邮件(IMAP/POP3)代理服务器。此软件BSD-like协议下发行,可以在UNIX、GNU/Linux、BSD、Mac OS X、Solaris,以及Microsoft Windows等操作系统中运行。
5895d477-f76e-4df0-9ab4-6cfe1bce80ce.jpg

Nginx相较于Apache、lighttpd具有占有内存少,稳定性高等优势,并且依靠并发能力强,丰富的模块库以及友好灵活的配置而闻名。 在Linux操作系统下,nginx使用epoll事件模型,得益于此,nginx在Linux操作系统下效率相当高。同时Nginx在OpenBSD或 FreeBSD操作系统上采用类似于epoll的高效事件模型kqueue。

目前使用FastCGI+Nginx运行PHP应用时如果配置文件设置不合理,并不是十分可靠。建议使用NAMP架构(Nginx+Apache+Mysql+PHP),即使用Nginx处理静态请求,并将动态请求反向代理给Apache处理。

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

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

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

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

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

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


 

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

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

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