java - Nginx能提高服务器的QPS吗?
迷茫
迷茫 2017-04-17 17:58:36
[Java讨论组]

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

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(3)
ringa_lee

抄自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。即便只是审计访问日志,也是很有用的。

大家讲道理

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

  1. nginx本身性能很出色

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

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

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


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

阿神

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号