具体看你看中什么了:
1. tomcat的优势就是直接,但tomcat主要还是扮演容器的角色;
2. nginx优势在于分发,如果处理多域名或者高并发的转发功能,nginx就擅长了。
所以,效率是相对的,看你怎么用。
tomcat是j2ee服务器,可以运行java程序,处理用户的请求。 nginx/apache都是转发的工具。它们可以把请求转发到多个tomcat服务器上,实现tomcat服务器的负载均衡 和 建立安全区。外部攻击最多攻击到nginx/apache的服务器上,而不会攻击到tomcat服务器上(tomcat服务器往往与内部数据库相关联)
nginx:跑PHP,轻量级web服务器
apache:跑PHP,市场最大
tomcat:跑JSP,可以和apache整合。
需要使用nginx可以用护卫神.nginx大师
需要apache+tomcat,可以用护卫神.apache大师
需要tomcat,可以用护卫神.jsp大师。
一、 工具
nginx-1.8.0
apache-tomcat-6.0.33
二、 目标
实现高性能负载均衡的Tomcat集群:
三、 步骤
1、首先下载Nginx,要下载稳定版:
2、然后解压两个Tomcat,分别命名为apache-tomcat-6.0.33-1和apache-tomcat-6.0.33-2:
3、然后修改这两个Tomcat的启动端口,分别为18080和28080,下面以修改第一台Tomcat为例,打开Tomcat的conf目录下的server.xml:
共需修改3处端口:
当然第二台Tomcat也一样,如下图:
4、然后启动两个Tomcat,并访问,看是否正常:
5、然后修改上面两个Tomcat的默认页面(为了区分下面到底访问的是那一台Tomcat,随便改一下即可):
改完以后,进行访问,如下图:
6、OK,现在我们可以开始配置Nginx来实现负载均衡了,其实非常的简单,只需要配置好Nginx的配置文件即可:
Nginx常用做静态内容服务和代理服务器,直接外来请求转发给后面的应用服务器(tomcat,Django等),tomcat更多用来做一个应用容器,让java web app泡在里面的东西。严格意义上来讲,Apache和Nginx应该叫做HTTP Server,而tomcat是一个Application Server是一个Servlet/JSO应用的容器。
客户端通过HTTP Server访问服务器上存储的资源(HTML文件,图片文件等),HTTP Server是中只是把服务器上的文件如实通过HTTP协议传输给客户端。应用服务器往往是运行在HTTP Server的背后,执行应用,将动态的内容转化为静态的内容之后,通过HTTP Server分发到客户端,Nginx只是把请求做了分发,不做处理。
在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 是一个java web容器,可以运行java web程序的
Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。
Nginx是一个类似与apache的web服务器,也可以作为web代理,但不能运行java web程序