Nginx 是一个轻量的、高效的、支持高并发的开源服务器,并因为这些优势在软件领域内被广泛应用。常见的使用场景有作为反向代理服务器,存放文件等静态资源的服务器等。
Nginx 诞生于 2004 年,在不断发展壮大的过程中,它在某些场景下可以代替 Apache 服务器,许多公司的 LAMP 架构也迁移到 LNMP 架构。Nginx 本身是轻量的,只包含作为 HTTP 服务器的必要代码,但是 Nginx 支持在编译的过程中通过编译参数中加入模块来拓展功能,这也是它能比肩传统的 Apache 服务器的原因。
官方模块与第三方模块
Nginx 在编译参数中加入的模块主要有两类:
- 一类是官方提供的扩展模块,形式上为
--with-xxx
,如加入SSL协议支持--with-http_ssl_module
- 另一类是第三方提供的模块,形式上为
--add-module=xxx
,如加入文件上传模块--add-module=<第三方模块所在路径>/nginx-upload-module-master
静态加载与动态加载
同时,模块加载的方式也有两种:
- 静态加载模块,形式和上述的两类一样,没有变化,这种方法模块的库会编译到 Nginx 的二进制文件中
- 动态加载模块,形式为
--with-http_ssl_module=dynamic
或--add-dynamic-module=<第三方模块所在路径>/nginx-upload-module-master
,