Nginx (engine x) 是一个开源的、高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。
POP3 :
POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。
SMTP:
SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。是一组用于从源地址到目的地址传输邮件的规范,通过来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。
SMTP 认证,简单地说就是要求必须在提供了账户名和密码之后才可以登录 SMTP 服务器,这就使得那些垃圾邮件的散播者无可乘之机。
IMAP:
IMAP全称是Internet Mail Access Protocol,即交互式邮件存取协议,是跟POP3类似邮件访问标准协议之一。不同的是,开启了IMAP后,电子邮件客户端收取的邮件仍然保留在服务器上,同时在客户端上的操作都会反馈到服务器上,如:删除邮件,标记已读等,服务器上的邮件也会做相应的动作。所以无论从浏览器登录邮箱或者客户端软件登录邮箱,看到的邮件以及状态都是一致的。
Nginx因具有高并发(特别是静态资源)、占用系统资源少等特性。
从软件的功能应用方面,Nginx不但是一个优秀的Web服务软件,还可以具有反向代理负载均衡功能和缓存服务功能。
Nginx Web组合被称为LNMP或LEMP(即Linux Nginx MyAQL PHP),其中LEMP里的E取自Nginx
Nginx HTTP服务器的特色及优点:
支持高并发:能支持几万并发连接(特别是静态小文件业务环境)
资源消耗少:在3万并发连接下,开启10个Nginx线程消耗不到200MB内存
可以做HTTP反向代理及加速缓存,即负载均衡功能,内置对RS节点服务器健康检查功能,这相当于专业的haproxy软件或lvs的功能
具备squid等专业缓存软件等的缓存功能
支持异步网络IO事件模型epoll(Linux 2.6+)
Nginx软件的主要企业功能应用
作为Web服务软件,反向代理或负载均衡服务,前端业务数据缓存服务
使用Nginx运行HTML、JS、CSS、小图片等静态数据(类似lightpd软件)
Nginx结合FastCGI运行PHP等动态程序(如使用fastcgi_pass方式)
Nginx姐tomcat/resin等支出Java动态程序(常用proxy_pass方式)
Nginx软件的特点:
基于异步网络I/O模型(epoll、kqueue)
具备支持高性能、高并发的特性,并发连接可达数万
对小文件(小于1MB的静态文件)高并发支持很好,性能很高
缺点:不支持类似于apche的DSO模式,扩展库必须编译进主程序
进程占用系统资源比较低
支持Web、反向proxy、cache三大重点功能,而且很优秀
企业场景如何选择web服务器:
静态业务:高并发场景,尽量采用Nginx或lighttpd,首选Nginx。并发不是很大可以使用Apache
动态业务:采用Nginx或Apache,首选Nginx
如果既有静态又有动态业务:就采用Nginx