浅谈web服务器—Nginx
常见的web服务器有apache,Nginx,lighttpd等。但Nginx作为一款高性能的Http和反向代理服务器,由于其高效率、简配置等优势在业内被广泛使用。
目前Taobao、新浪、赶集网、金山、豆瓣网、网易新闻等众多知名互联网企业的服务器都是采用Nginx
Nginx的优点:
1 .配置文件简单
2. 根据url的不同,将HTTP请求转发到后端的应用服务器集群
3. 内置健康检查,可以检测后端某台服务器是否宕机
4. 支持GZIP压缩
5. 可用于反向代理,稳定性高
6. 支持热部署,可以7*24小时不间断运行
Nginx在反向代理、rewrite规则、稳定性、静态文件处理、内存消耗等方面,有很强的优势。
Nginx可以配置多种类型的虚拟主机:基于ip的虚拟主机、基于端口的虚拟主机、基于域名的虚拟主机
关于web服务器和应用服务器的职责:对于静态的html网页、图片、js、css 、Flash等基本采用Nginx来处理;对于.jsp和.do的http请求由Nginx反向代理Tomcat服务器来处理。
对于运行过程中的Nginx,可以通Nginx.exe -t 来检查nginx.conf配置文件是否正确,如果出现下图字样,则配置正确。
另外,使用“kill -HUP nginx主进程号” 来平滑重启Nginx.
负载均衡是通过平均分配客户请求到应用集群的服务器阵列,解决高并发访问问题。
常见的
1)硬件四/七层负载均衡有:F5 BIG-IP, Citrix NetScaler, Radware, Foundry 等。
2)软件四层负载有LVS(Linux Virtual Server),是一个开源软件,采用ip负载均衡技术和基于内容请求分发技术。
3)软件七层负载均衡,大多基于HTTP反向代理方式,如Nginx,HAProxy等,可以按轮询、ip哈希、URL哈希、权重等多种方式对后端服务器做负载均衡,同时还支持
对后端服务器的健康检查。
反向代理是采用代理服务器接受internet客户端请求,然后将请求转发给内部的应用服务器,并将服务器响应的结果返回给客户端。
在互联网服务器架构中,经常听到LAMP(Linux+Apache+Mysql+PHP),但随着Nginx的卓越性能为越来越多的人所熟知,LAMP架构正在逐步被LNMP所取代。
如果你对Nginx有兴趣,推荐你看看张宴的《实战Nginx 取代Apache的高性能Web服务器》,不管是对初学者还是有一定使用经验的人都是一本不错的宝典。