1. Nginx 反向代理为什么能够提升服务器性能?
对于后端是动态服务来说,比如 Java 和 PHP。这类服务器(如 JBoss 和 PHP-FPM)的 IO 处理能力往往不高。Nginx 有个好处是它会把 Request 在读取完整之前 buffer 住,这样交给后端的就是一个完整的 HTTP请求,从而提高后端的效率,而不是断断续续的传递(互联网上连接速度一般比较慢)。 同样,Nginx 也可以把response 给 buffer 住,同样也是减轻后端的压力。
2. Nginx 和 Apache 各有什么优缺点?
nginx 相对 apache 的优点:
1)轻量级,同样起 web 服务,比 apache 占用更少的内存及资源
2)抗并发,nginx 处理请求是异步非阻塞的,而 apache 则是阻塞型的,在高并发下 nginx 能保持
3)低资源低消耗高性能
4)高度模块化的设计,编写模块相对简单
5)社区活跃,各种高性能模块出品迅速啊
apache 相对 nginx 的优点:
1)rewrite,比 nginx 的 rewrite 强大
2)模块超多,基本想到的都可以找到
3)少 bug,nginx 的 bug 相对较多
4)超稳定,一般来说,需要性能的 web 服务,用 nginx 。 如果不需要性能只求稳定,那就 apache 吧。 |
|