为什么在互联网中tomcat 要结合 apache才能运行

loseone 发布于 2009/12/02 14:11
阅读 1K+
收藏 4

为什么在互联网中tomcat 要结合 apache才能运行

加载中
0
t
try__again

没有啊,tomcat可以独立跑jsp和html

但是除了jsp之外,其他的网页用tomcat没有优势,相比之下,这个是apache做的好

另外,php等的支持,也是需要apache的

0
l
loseone

引用来自“try__again”的帖子

没有啊,tomcat可以独立跑jsp和html

但是除了jsp之外,其他的网页用tomcat没有优势,相比之下,这个是apache做的好

另外,php等的支持,也是需要apache的

 但是我们把项目发布到外网,都是要和apache整合在一起?

0
红薯
红薯

这个也不是一定的,结合 Apache 的目的有两种:

1. 提升静态文件的处理速度,因为 Tomcat 是 Java 编写的,而 Apache 是 C 编写的,在处理静态文件时性能差别还是比较大的,另外静态文件交给 Apache 处理可以降低 Tomcat 的负载;

2. 集群。通过 mod_jk 或者是 mod_proxy 可以让 Apache 挂接多个 Tomcat 来实现负载均衡

但是这上面两点又不是非要 Apache 才能实现,现在很多比 Apache 性能好很多的 Web服务器,有如 NginxLighttpd 也能实现这些功能。

0
xzg
xzg

Naginx直接运行JAVA,不用和其他的服务器整合,是吧?

0
xzg
xzg

引用来自“红薯”的帖子

这个也不是一定的,结合 Apache 的目的有两种:

1. 提升静态文件的处理速度,因为 Tomcat 是 Java 编写的,而 Apache 是 C 编写的,在处理静态文件时性能差别还是比较大的,另外静态文件交给 Apache 处理可以降低 Tomcat 的负载;

2. 集群。通过 mod_jk 或者是 mod_proxy 可以让 Apache 挂接多个 Tomcat 来实现负载均衡

但是这上面两点又不是非要 Apache 才能实现,现在很多比 Apache 性能好很多的 Web服务器,有如 NginxLighttpd 也能实现这些功能。

Naginx直接运行JAVA,不用和其他的服务器整合,是吧?

0
hans汉斯
hans汉斯

要 跟tomcat 不过 推荐jetty!

0
a
ahx

因为tomcat是java 的WEB容器 , 其致力于解决servlet, jsp 等等java中的标准以及运行环境。

apache httpd (包括lighthttpd 等)致力于提供一个 www (http)服务的支撑运行环境。

www服务 和 web container 的重点是完全不一样的,虽然他们都内置有http协议的支撑。

其中使用tomcat功能而不使用 apache httpd的理由: jsp不能在apache httpd中运行。

使用apache httpd的功能而不使用tomcat的理由:(我最常用到的)a. url rewrite, b. 定制的访问日志记录,c. 反向http代理,d. 报错处理。apache httpd是一个稳定的程序(相对你开发刚刚开发完的java应用),因此我用apache做最外层的报错管理,尽量保证服务无法正常运行的时候,也给用户一个友善的错误,也将我们的联系方法告诉用户。 e. load balance  f. 文件目录浏览/文件下载 (你的java程序支持断点续传么?写一下至少要一两天的工作量) g. 基于IP地址范围的权限控制 h. 基于URL的访问限制配置(结合IP地址的权限控制) i. 静态文件服务,分域名的缓存。  j. 对支持压缩的客户端提供压缩 js, css, html服务 k. 基于主机名称的虚拟服务器

上面是随便写写,没有打草稿,总的说来,用不用apache httpd主要看你是否需要那些功能,这些功能都可以使用java实现,但是你真的那么喜欢写代码,又那么有时间去写周边的代码么?

返回顶部
顶部