对比
1.并发
Apache提供了几百个模块,模块就意味着功能,但作为一个Apache服务器最多只有2000多的并发量,Nginx提供的模块也就几十个,但他却可以提供20000的并放量。
2.异步
Nginx采用的是事件驱动结构,它使用异步请求套接字来接受请求,是一种非阻塞结构,不适用单独的县城处理,目的是为了减少内存和CPU的开销。而Apache采用的同步套接字、线程和进程,每一个请求都是一个单独的进程和线城来进行处理。
3.热插拔
Nginx和Apache一样,同样使用模块化管理,但是和Apache“热插拔”(每次添加模块的时候,不需要重新编译,只需要重新载入即可)的方式不同,Nginx每次添加一个模块或删除一个模块的话都需要重新编译才可以适用相应的功能模块。
功能模块
限制流量
限制用户并发连接数
模块
已安装
在Nginx(1.8.0)目录下适用./configure –help可以查看哪些模块已经被安装:
第三方
在对Nginx进行configure配置编译的时候,有一个参数–add-module,就是用来调价第三方模块的,例如:
--add-module=/root/nginx-accesskey-2.0.3
进程
Nginx分为Single和Master两种进程模式,Single为单进程方式工作,通过ngx_single_process_cycle完成,Master模型即是一个master进程和多个worker进程,在实际的开发过程中使用Master方式。
优化
1、关闭不必要的服务
2、优化写磁盘操作
3、优化资源限制
4、优化内核TCP选项
5、关闭访问日志
6、Nginx服务器配置优化