Nginx 介绍
Nginx 是俄罗斯人编写的十分轻量级的 HTTP 服务器, Nginx,它的发音为 “ engine X ”,是一个高性能的 HTTP 和反向代理服务器,同时也是一个 IMAP/ POP3/ SMTP 代理服务器。Nginx 是由俄罗斯人 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor Sysoev 在建立的项目时,使用基于 BSD 许可。
英文主页:http://nginx.net。
Nginx 作为 HTTP 服务器,有以下几项基本特性:
即 Nginx 的优点:轻量、高性能、并发能力强。用来部署静态页面也是相当便捷。
这种高性能得益于 Nginx 的框架。在 Nginx 启动后,会有一个 master 进程和多个 worker 进程。master 进程主要用来管理 worker 进程,包含:接收来自外界的信号,向各 worker 进程发送信号,监控 worker 进程的运行状态,当 worker 进程退出后(异常情况下),会自动重新启动新的 worker 进程。而基本的网络事件,则是放在 worker 进程中来处理的。多个 worker 进程之间是对等的,他们同等竞争来自客户端的请求,各进程互相之间是独立的。一个请求,只可能在一个 worker 进程中处理,一个 worker 进程,不可能处理其它进程的请求。worker 进程的个数是可以设置的,一般我们会设置与机器 cpu 核数一致,这与 Nginx 的进程模型以及事件处理模型有关。
为何选用 Nginx
说到 Nginx,可能第一反应就是 反向代理 和 负载均衡 了。那么什么是 反向代理,什么又是 负载均衡 呢?
反向代理
首先了解一下什么是 前向代理 。代理 (Proxy) 也称网络代理,是一种特殊的网络服务,通俗来讲,就是在客户端和目标服务器之间的充当中间人,接收客户端的请求,再根据客户端请求向目标服务器发起相应的请求,从目标服务器获得指定资源后返回给客户端。且代理服务器可以对目标服务器的资源下载至本地缓存,如果客户端所要获取的资源在代理服务器的缓存之中,则代理服务器并不会再向目标服务器发起请求,而是直接返回缓存的资源。
其实代理服务器非常常见,就比如因为 GWF 而存在的一些科学上网的代理商,就是利用国外服务器作为代理服务器,从而正确解析域名来实现科学上网。代理服务器也可以实现隐藏真实 IP,比如著名的 Tor (洋葱路由器)就是通过多重代理和一些加密技术来实现匿名交流。
新闻热点
疑难解答