首页 > Nginx能提高服务器的QPS吗?

Nginx能提高服务器的QPS吗?

现在的业务就是提供API,只有查询业务。没有静态资源等等。直接用tomcat处理请求和使用nginx处理请求有什么区别?


抄自http://www.oschina.net/question/723876_159806?sort=time 。

公司JAVA程序员:为毛要用nginx服务器代理,不直接用tomcat 7.0,还做多了一次接请求。

我:为了处理静态文件与缓存,也可以很方便的增加服务器。

公司JAVA程序员:我们根本没有静态文件,缓存的话tomcat也可以做,。

我:这个....,你想去掉nginx也可以的,这样我的工作就更方便了。

公司JAVA程序员:那你把nginx关闭,把tomcat端口配置为80.

我:。。。。。

-----------------------------------------------------------------------

我也在想,为毛要nginx服务器。


location ~ .* {
            proxy_pass http://127.0.0.1:9000;
            proxy_set_header X-Real-IP $remote_addr;
    }


这句话是将所有的东西都交给 tomcat 7.0,我就不明白了。。。

nginx做得到而tomcat做不到的:

1.WAF(luajit)
2.高性能静态文件处理
3.负载均衡
4.缓存
5.其他http server做得到的事情,nginx都能出色地处理好。

建议在tomcat外面套一层nginx。即便只是审计访问日志,也是很有用的。


谁再补充点共享session的,近期用了感觉很方便。


总体来说可以, 简单讲的话原因如下

  1. nginx本身性能很出色

  2. tomcat是一个Java Servlet的容器, 虽然也内置了一个Web服务器, 但总体来说并不是专门为这个设计的, 性能是肯定不如nginx的

  3. nginx也是一个负载均衡的服务器, 对于动态内容, 可以分发到多个服务器多个tomcat等进行处理

  4. nginx还有比较灵活的缓存的配置


题主改了题目, 那么我的回答是, 如果你是单台服务器, 这么做意义不大
但是一旦你希望做负载均衡, nginx仍然有其价值(或者用haproxy等)

【热门文章】
【热门文章】