tomcat nginx apache jboss有什么区别

2024-05-15

1. tomcat nginx apache jboss有什么区别

在Apache基金会里面ApacheServer永远会被赋予最大的支持,毕竟大儿子最亲嘛,而Apache的开源服务器软件Tomcat同样值得关注,毕竟Tomcat是开源免费的产品,用户会给予最大的支持。但是经常在用Apache和Tomcat等这些服务器时,你总感觉还是不清楚他们之间有什么关系,在用Tomcat的时候总出现Apache,总感到迷惑,到底谁是主谁是次,因此特意在网上查询了一些这方面的资料,总结了一下。
解析一:
Apache支持静态页,Tomcat支持动态的,比如Servlet等,
  一般使用Apache+Tomcat的话,Apache只是作为一个转发,对JSP的处理是由Tomcat来处理的。
Apche可以支持PHPcgiperl,但是要使用Java的话,你需要Tomcat在Apache后台支撑,将Java请求由Apache转发给Tomcat处理。
Apache是Web服务器,Tomcat是应用(Java)服务器,它只是一个Servlet(JSP也翻译成Servlet)容器,可以认为是Apache的扩展,但是可以独立于Apache运行。

这两个有以下几点可以比较的:
◆两者都是Apache组织开发的
◆两者都有HTTP服务的功能

tomcat nginx apache jboss有什么区别

2. Apache Tomcat/Jboss远程代码执行漏洞 怎样解决

1.在 ${jboss.server.home.dir}/deploy下面找到jmx-console.war目录编辑WEB-INF/web.xml文件 去掉 security-constraint 块的注释,使其起作用
2.编辑WEB-INF/classes/jmx-console-users.properties或server/default/conf/props/jmx-console-users.properties (version >=4.0.2)和 WEB-INF/classes/jmx-console-roles.properties
或server/default/conf/props/jmx-console-roles.properties(version >=4.0.2) 添加用户名密码
3.编辑WEB-INF/jboss-web.xml去掉 security-domain 块的注释 ,security-domain值的映射文件为 login-config.xml (该文件定义了登录授权方式)!

3. 有人把jboss,tomcat,apache整合在一起用吗,怎么配置的?

apache 一般用来做分发,和处理静态页面。
tomcat 处理j2ee部分。apache配置一下,把应用的请求转发到tomcat就行了。
现在网上主要流行的就是apache+tomcat。

jboss可以替代tomcat。如果有人把它和tomcat一起用的话,就是把jboss当做ejb服务器。不过ejb近期不是很流行。用的少了。

所以三者都用的话。就是 apache做网页转发,tomcat处理应用,jboss提供ejb服务。

有人把jboss,tomcat,apache整合在一起用吗,怎么配置的?

4. APACHE+tomcat做JBOSS集群,求帮助

$JBOSS-HOME/server/ Your_Server /conf/jboss-service.xml 
 
  8083 
<mbean code="org.jboss.naming.NamingService" 
      name="jboss:service=Naming" 
      xmbean-dd="resource:xmdesc/NamingService-xmbean.xml"> 
  1099 
  1098 

<mbean code="org.jboss.invocation.jrmp.server.JRMPInvoker" 
      name="jboss:service=invoker,type=jrmp"> 
  4444 
<mbean code="org.jboss.invocation.pooled.server.PooledInvoker" 
      name="jboss:service=invoker,type=pooled"> 
  4445 
​ $JBOSS_HOME/server/all/deploy/jms/uil2-service.xml

5. 求问Apache+JBoss部署web应用,以及如何将动态和静态资源分离

两台web server (安装 apache),多台 app server(安装jboss),若干硬件loadbalancer(用于配置集群和负载均衡)。
听说apache 处理静态资源的能力比较强。而jboss主要处理动态资源。
02现在又如下疑问
众所周知,apache处理静态资源可有效减少app server 的压力。。
02现在小弟很纠结,可有大虾可以指教??020202

求问Apache+JBoss部署web应用,以及如何将动态和静态资源分离

6. Tomcat,Apache,Jboss,SHH 都是应用服务器吗

tomcat是Apache下的一个web服务器,而Apache软件基金会(也就是Apache Software Foundation,简称为ASF),是专门为运作一个开源软件项目的 Apache 的团体提供支持的非盈利性组织,这个开源软件项目就是 Apache 项目。joss是java ee 服务器 ~~ shh是struts 1/2,hibernate,spring 3个框架的简称 是java ee轻量级企业级开发的首选架构

7. 基金会如何盈利

  一般而言,基金公司是通过5个方面来保障为基金持有人获取最大收益的。

  一是判断宏观市场,调整基金配置。当股市处于牛市时,基金通常都会把仓位调到最高点。也就是将公司所有能够持有股票的基金仓位都加到最高点,以保证获取最大收益。相反,当股市处于熊市时,基金会把仓位适当调低,并加大债券等其他金融产品的投资,以保证获取稳定的收益。

  二是制定有效增长的长期策略,并要找准优势企业。所谓优势企业,就是不能只看资金注入,而且还要有业绩的持续增长,这样才能保证有效的基金的长期盈利。

  三是要适时选股。在选择股票上很多公司有不同的做法,这与基金经理的知识结构和历史行为相关。针对不同的企业,有的基金经理喜欢早早地买入,有的则采取循环买卖的操作方式。总之,这是一个非常复杂的过程,需要经验丰富的基金经理对数据分析后作出决策。 

  四是对上市公司的专业化研究。好的基金公司对企业的了解不仅仅停留在表层,而是深入到上市公司的方方面面,例如考察生产车间、生产订单、了解销售状况,掌握未来几年人员培养计划、未来的开店计划等等,基金公司只有精确和深入的研究,才能有持续稳定的获利。

  五是基金经理要有牛市与熊市的经验。只有牛市与熊市都经历过的基金经理,才能更好地控制风险,稳中求胜。

基金会如何盈利

8. JBoss会对EJB连接的并发数做限制吗

 一、相关配置文件的设置

  为开发J2EE应用,操作数据库成了必不可少的内容;调节日志输出的详细程度成了调试J2EE应用的关键;EJB应用的调优过程是J2EE应用的核心。

  1. 数据源的配置:

  在JBoss 3.2.1中,配置数据源的步骤很简单,JBoss 3.2.1本身带了主流数据库的配置实例,于目录下:C:\jboss-3.2.1_tomcat-4.1.24\docs\examples\jca。具体使用哪个配置文件取决于目标用户的数据库。如果是SQL Server 2000,则需要使用mssql-ds.xml文件(支持本地事务)或者mssql-xa-ds.xml文件(支持全局事务);如果是Oracle 9i数据库,则需要使用oracle-ds.xml文件或者oracle-xa-ds.xml文件等。这里以SQL Server 2000为例。

  首先将mssql-ds.xml文件拷贝到目录:C:\jboss-3.2.1_tomcat-4.1.24\server\default\deploy下。然后打开文件,并作如下修改:



VSSDB
jdbc:microsoft:sqlserver://125.16.45.158:1433;DatabaseName=DDD

com.microsoft.jdbc.sqlserver.SQLServerDriver
sa
sa
50
200



  如果目标J2EE应用只需要本地事务,则上述过程已经完成了Datasource的配置,同时这个配置将用于JDBC以及EJB通过JNDI使用。如果要实现EJB使用Datasource,则还需要修改位于目录:C:\jboss-3.2.1_tomcat-4.1.24\server \default\conf下的standardjbosscmp-jdbc.xml文件。比如:




java:/VSSDB1
MS SQLSERVER2000

true
false
false
300
true
false

  其中,java:/VSSDB中的VSSDB就是mssql-ds.xml配置的数据源;而“java:/”前缀表明该命名空间只是对JBoss本身可见,即运行于JBoss外的应用是不能够使用这里定义的数据源,这一点希望注意。

  其次,MS SQLSERVER2000中的MS SQLSERVER2000可以在该文件的其他地方找到。(如果是其他数据库,情况都是类似的)

  2. 日志的输出详细程度配置:

  由于JBoss 3.2.1开发采用了Log4j管理其日志信息(严格地讲,它扩展了Log4j),因此了解Log4j的机理,有助于理解JBoss 3.2.1管理日志的方式。JBoss 3.2.1采用JMX架构的同时,且以.xml文件类型为配置文件,因此可以找到位于目录:C:\jboss-3.2.1_tomcat-4.1.24 \server\default\conf下的log4j.xml文件。比如,其中一段配置示例如下:











  比如,为了调节JBoss 3.2.1控制台日志输出的详细程度(调整为DEBUG级别),我们需要修改value=”INFO”,将INFO改为DEBUG。如果开发Entity Beans,可以调节位于与log4j.xml文件同一目录下的standardjboss.xml文件(该文件主要是提供修改EJB相关的调试、运行、调优、部署参数)。如果Entity Beans采用的为Standard CMP 2.x EntityBean,则将其中的属性的取值改为true。


Standard CMP 2.x EntityBean
false
entity-rmi-invoker
false

  完成上述两步后,在调试Entity Beans时通过控制台,可以看到Entity Beans发出的JDBC调用细节。

  3. Tomcat容器相关参数的配置:

  如果使用JBoss 3.2.1与Tomcat 4.1.24的集成版本,则可以通过调节分别位于目录:C:\jboss-3.2.1_tomcat-4.1.24\server\default \deploy\jbossweb-tomcat.sar下的web.xml和目录:C:\jboss-3.2.1_tomcat-4.1.24 \server\default\deploy\jbossweb-tomcat.sar\META-INF下的jboss-service.xml文件来达到目标读者特定需求。比如,如果想将HTTP服务端口改为80,则可以修改jboss-service.xml文件;如果想使目标J2EE应用处理更多的文件类型,可以修改web.xml文件。

  4. 相关类库的放置:

  如果应用涉及到第三方类库,比如 JDBC Driver,则可以将这些JDBC Driver存放到目录下:C:\jboss-3.2.1_tomcat-4.1.24\server\default\lib。注意,不是目录:C: \jboss-3.2.1_tomcat-4.1.24\lib下。

  如果是与目标J2EE应用相关,则可以存放到目标.war(或者.ear)里面,或者xxx.war目录中的WEB-INFO\lib下。无论那种情形,都需要遵循J2EE规范。当然,JBoss 3.2.1的配置文件有很多,比如还有提供邮件服务的mail-service.xml文件等。

  二、开发EJB应用

  如果开发EJB应用,建议采用JBoss作为开发服务器,因为开发、调试、部署速度快。如果采用其他商用服务器,由于实现机理的不同,其编译的速度很慢。如果采用Entity Beans技术,则您需要知道这几点。第一,您目标系统的数据源有多少个操作入口,即是否存在Entity Beans之外的方式来操作数据库。如果有,则需要调节相应的提交策略以及策略。

  比如,JBoss 3.2.1采用的方式有4种:A、B、C、D。当然,如果除了Entity Beans访问数据库外,别无它出,采用A是很理智的。如果有,则需要取决于具体的情况使用方式。同时,方式的选择与策略有关系。能够采用的Entity Beans或Entity Beans Methods,则尽量采用,这样会减少或消除死锁发生的可能性。尽量采用1:n的关系来操作n方的数据表结构,这样能够提高EJB Container的效率。

  一般情况下,J2EE应用服务器支持JDBC事务、JTA事务、容器管理事务。同时,最好不要在程序中同时使用上述三种事务类型,比如在JTA事务中嵌套JDBC事务;第二方面,事务要在尽可能短的时间内完成,不要在不同方法中实现事务的使用。比如,下面给出了回滚JDBC事务的代码示例:

public void processT(String orders) {
Context initCtx = new InitialContext();
javax.sql.DataSource ds = javax.sql.DataSource)initCtx.lookup
(“java:comp/env/jdbc/OrdersDB”);
java.sql.Connection conn = ds.getConnection();
try{
conn.setAutoCommit( false ); //更改JDBC事务的默认提交方式
orderNo = createOrder( orders );
updateOrderStatus(orderNo, “orders created”);
conn.commit();//提交JDBC事务
}catch( Exception e ){
try{
conn.rollback();//回滚sJDBC事务
throw new EJBException(“事务回滚: “ + e.getMessage());
}catch( SQLException sqle ){
throw new EJBException(“出现SQL操作错误: “ + sqle.getMessage());
}
}
}

  下面给出了JTA事务代码示例:

public void processOrder(String orderMessage) {
UserTransaction transaction = mySessionContext.getUserTransaction();//获得JTA事务
try{
transaction.begin();//开始JTA事务
orderNo = sendOrder(orderMessage);
updateOrderStatus(orderNo, “order sent”);
transaction.commit();//提交JTA事务
}catch(Exception e){
try{
transaction.rollback();//回滚JTA事务
}catch(SystemException se){
se.printStackTrace();
}
throw new EJBException(“事务回滚: “ + e.getMessage());
}
}

  同时,如果Session Bean采用JTA管理事务,一定不要通过JNDI获取JTA事务,否则结果不堪设想;而是采用类似,“mySessionContext.getUserTransaction()”的方法获取。

  最后,可以使用容器管理事务(CMT)。在使用CMT过程中,如果声明让容器完成事务回滚,则目标EJB应用必须抛出系统级异常,否则容器是不会满足事务的ACID。在包javax.ejb的异常类中,除了NoSuchEntityException和EJBException属于系统级异常外,其他的异常全部是应用级异常。

  另外,在开发Entity Beans过程中,能够使用CMP的地方尽量不要采用BMP的方式。如果拟采用BMP的方式,还不如采用Session Bean + JDBC,其中可以通过JTA控制事务(如果性能问题不是很重要的话)。能够通过容器实现的事务(即,通过声明)的地方尽量采用,提高开发效率,使得您可以更加专注于业务逻辑本身。尽量采用J2EE规范采用的各项技术。如果目标系统需要移植,但使用了很多与JBoss特有的技术,其移植工作则很麻烦。
最新文章
热门文章
推荐阅读