谈谈Apache,tomcat,jboss,weblogic,websphere等各主流服务器

接触了那么多服务器,抽时间稍微总结下了先,不足的地方以后再补充改进,欢迎大家指教。

 

首先money的问题:Weblogic 和 Websphere 是收费的(部分小公司什么的就不用说了).

 

http 容器: apache、IIS等这些不涉及java组件的容器,说白了就是静态页

每一个网页服务器程序从网络接受HTTP请求,然后提供HTTP回复给请求者。HTTP回复一般包含一个HTML文件,但也可以包含一个纯文本文件、一个图像或其他类型的文件。一般来说这些文件都存储在网页服务器的本地文件系统里,而URL和本地文件名都有一个阶级组织结构的,服务器会简单的把URL对照到本地文件系统中。当正确安装和设置好网页服务器软件,服务器管理员会从服务器软件放置文件的地方指定一个本地路径名为根目录。

eg.我们在example.com服务器上设置了服务器软件,我们可以把服务器软件的根目录设置为/home/public/web/,当一个浏览者输入URLhttp://example.com/a/b.htmlexample.com上的服务器软件就会读取/home/public/web/a/b.html这个文件。

现在市面上最普遍的网页(HTTP)服务器有:

  • Apache软件基金会的Apache HTTP服务器
  • Microsoft的Internet Information Server(IIS)
  • Google的Google Web Server
  • nginx公司的nginx
  • lighttpd公司的lighttpd

jsp/servlet容器:如tomcat这些可以运行jsp/Servlet组件的容器。(注:tomcat本身也自带了一个简易的http容器、性能一般)。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

Tomcat中,应用程序的部署:将你的WAR放到Tomcat的webapp目录下,第一次要将jsp转servlet,比较慢

Tomcat提供三种Realm,1:JDBCRealm,这个Realm将用户信息存在数据库里,通过JDBC获得用户信息来进行验证。2:JNDIRealm,用户信息存在基于LDAP的服务器里,通过JNDI获取用户信息。3:MemoryRealm,用户信息存在一个xml文件里面,manager应用验证用户时即使用此种Realm.

WAR:Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类(如JavaBean)。

一般在应用部署的时候会把apache和tomcat集成在一起,使性能提高(因为apache是一个专业的http容器,是专门用来提供HTTP服务的,以及相关配置的(例如虚拟主机、URL转发等等)),Apache只是作为一个转发,对JSP的处理是由Tomcat来处理的。Apache可以支持PHPcgiperl,但是要使用Java的话,你需要Tomcat在Apache后台支撑,将Java请求由Apache转发给Tomcat处理。

 

多功能的:集合了web容器、jsp/servlet容器、EJB容器应用服务器,如:jboss、weblogic、websphere 

JBoss :需要的内存和硬盘空间比较小

WebLogic等与Tomcat区别:应用服务器提供更多的J2EE特征,如EJB,JMS,JAAS等,同时也支持Jsp和Servlet.而Tomcat则功能没有那么强大,
它不提供EJB等支持。但如果与JBoss集成到一块,则可以实现J2EE的全部功能。

Weblogic:有最高水平的可扩展性和可用性,出色的群集技术。

websphere强项在均衡负载,但消耗资源非常厉害,门坎很高,决定于硬件,非常适合生产环境部署

官方手册:Websphere最小需要512M RAM;
Weblogic最小需要64M RAM,但是不准备128M是不合适的。
512/64=8倍的内存需求

通常:oracle+weblogic,db2+websphere

 

你可能感兴趣的:(架构)