一、背景介绍
Nginx是什么?
Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的。由于其非常好用,渐渐被越来越多的人所接受。俄罗斯人的编程能力确实厉害。
二、知识剖析
Nginx的作用:
1、作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。能够支持高达 50,000 个并发连接数的响应,感谢 Nginx 为我们选择了 epoll and kqueue 作为开发模型
2、作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTTP代理服务器 对外进行服务。Nginx 用 C 编写, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多。
3、作为邮件代理服务器: Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last.fm 描述了成功并且美妙的使用经验。
4、Nginx 安装非常的简单,配置文件 非常简洁(还能够支持perl语法),Bugs非常少的服务器: Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。
三、常见问题
WEB服务前端配置Nginx的好处是什么?
四、解决方案
答案很简单:反向代理与负载均衡
那么什么是反向代理呢?
要搞清楚反向代理,先捋一捋正向代理的概念:比如我们想通过自己的计算机A访问一个国外网站B,直接访问不了,此时有一台服务器C,是可以访问B的,那么我们就可以通过C来访问B。C就叫做代理服务器。
正向代理特点:就是我们明确知道要访问哪个网站,比如这里就清楚是网站B。
反向代理:当我们有一个服务器集群时(假定每个服务器内容一样),并且此时我们通过一个代理服务器访问集群,注意,由于服务器内容是一样的,我们并不知道是哪一台服务器在为我们服务,这种代理就是反向代理
而负载均衡是通过反向代理实现的
用户访问会先访问到Nginx服务器,然后Nginx服务器再从服务器集群中选择压力较小的服务器,然后将该访问引向该服务器
点关注,不迷路!如果本文对你有帮助的话不要忘记点赞支持哦!