1. 什么是Nginx?
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
2.Nginx的优点
Nginx是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新。性能是 Nginx 最重要的考量,其占用内存少、并发能力强、能支持高达 5w 个并发连接数(借助插件甚至可以达到10W并发量),最重要的是, Nginx 是免费的并可以商业化,配置使用也比较简单。因此用户很多
3.Nginx的应用场景
1)、http 服务器。Nginx 是⼀个 http 服务可以独立提供 http 服务。可以做网页静态服务器。
2)、虚拟主机。可以实现在⼀台服务器虚拟出多个网站。例如个⼈网站使用的虚拟主机。
3)、反向代理,负载均衡。当网站的访问量达到⼀定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使⽤nginx 做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载⾼宕机⽽某台服务器闲置的情况。
——说到虚拟主机,它和云服务器的区别是什么?
(1)、价格不同
相同配置的云虚拟主机,一般会比云服务器便宜很多。
(2)、权限不同
云虚拟主机预装好了指定的部署环境,只能管理后台和FTP进行管理;而云服务器支持自行根据业务需求安装部署环境,可以通过SSH管理。
(3)、管理不同
云虚拟主机图形化控制面板,网站上传、下载,迁移导入数据库一站式完成;而云服务器只能自行安装或开发这些功能,只有你有开发能力,也不止于这些功能,可以更好更强大。
(4)、运载不同
云虚拟主机一般只能运行一个网站程序;而云服务器可以运行很多个网站程序。
(5)、层次不同
云虚拟主机实际上属于云服务器里面的一块,通过技术手段把一个云服务器做成多个云虚拟主机提供出来使用。
4.Nginx的特点功能
1、Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。
Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能。Nginx可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结尾的走文件服务器,动态页面走web服务器,只要你正则写的没问题,又有相对应的服务器解决方案,你就可以随心所欲的玩。并且Nginx对返回结果进行错误页跳转,异常判断等。如果被分发的服务器存在异常,他可以将请求重新转发给另外一台服务器,然后自动去除异常服务器。
2、负载均衡
Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash。扩展策略,就天马行空,只有你想不到的没有他做不到的啦,你可以参照所有的负载均衡算法,给他一一找出来做下实现。
3、web缓存
Nginx可以对不同的文件做不同的缓存处理,配置灵活,并且支持FastCGI_Cache,主要用于对FastCGI的动态程序进行缓存。配合着第三方的ngx_cache_purge,对制定的URL缓存内容可以的进行增删管理。