web服务器与应用服务器
Web服务器
是一个处理web请求的计算机系统,常见作用是托管web网站,主要功能是存储、处理、传送web页面到客户端 。客户端与服务端之间的通信协议为HTTP,传送的页面多数情况下是HTML,同时包含图片、CSS以及JavaScript脚本【web服务器与应用服务器是什么东西】如:Apache HTTP Server、Nginx、Lighttpd、IIS等
场景:
- 静态资源优化
- 多应用、多虚拟机整合
- 负载均衡
- 复合场景
应用服务器
用于提供创建应用程序服务端实现和应用程序功能的通用方法,致力于程序或脚本的处理效率以支撑其应用大多数应用服务器框架包含了一个综合的服务层模型 。应用服务器对于软件开发者来说是一套可访问的组件 , 可通过平台定义的API访问 。
如:Tomcat、JBOSS、Weblogic、WebSphere
web服务器是应用服务器的子集 。,但是web服务器更侧重于对HTTP请求的处理 , 而应用服务器侧重于构建业务系统的组件支撑
各自的优势
- Web服务器侧重于系统的吞吐量、并发量的支持,性能高于应用服务器
- Web服务器大多提供了反向代理,用于负载均衡,应用服务器如果使用负载均衡的话一般采用LVS等方案 。而应用服务器可以很好地支持集群架构,如会话集群、集群部署
- 多数web服务器提供了静态文件缓存服务,对于静态文件的请求性能要好于应用服务器
- web服务器可以通过相关模块支持IMAP/POP3/SMTP
Nginx
集成多个应用
#配置服务器1upstream sample1 {server 127.0.0.1:8080}#配置服务器2upstream sample2 {server 127.0.0.1:8081}server {# 映射服务器1location /simple1/{proxy_pass http://sample1;}# 映射服务器2location /simple2/{proxy_pass http://sample2;}}
负载均衡
#配置服务器集群组upstream sample1{#实例1 设置权重 通信失败的最大次数失败次数达到max_fails时,多久内该服务器无效server 127.0.0.1:8080 weight=1 max_fails=3 fail_timeout=30s#实例2server 127.0.0.1:8081 weight=1 max_fails=3 fail_timeout=30s}server {# 映射服务器集群location /sample1/ {proxy_pass http://simple1;}}