Nginx常用模块
Nginx的模块分为几类,这几类分别为Core,Event,Conf,Http,Mail。期中Core模块是最重要的。模块是什么意思?它包含一堆命令和命令对应的处理函数(cmd>handler),根据配置文件中的配置就知道这个配置命令是调用了哪个模块,然后调用对应的模块来设置我们的服务。
这几类模块中,Core模块是Nginx启动时必须要加载的模块。而其他模块是在解析配置文件时,遇到这个模块的命令,才会加载对应的模块。
我们这里最主要是研究 HTTP 类型的模块,所以我们就记得 HTTP 模块指向的结构是ngx_http_module_t
,所以说现在接触的很多模块都是HTTP模块。
1.ngx_http_upstream_module
基于此模块实现nginx的负载均衡:定义服务器组,将多个后端主机定义为服务器组,而后可由proxy_pass,fastcgi_pass,memcached_pass等调用
2.ngx_http_proxy_module
基于此模块实现反向代理,将客户端请求至后端服务器
3.ngx_http_fastcgi_module
基于此模块实现与php-fpm结合,通过fastcgi_pass指令调用FastCGI接口,将动态请求传至php-fpm服务。
4.ngx_http_ssl_module
让Nginx可以支持HTTPS的模块,此模块下的大多数指令都应用在http,server上下文
5.ngx_http_rewrite_module
基于此模块实现对请求的URL进行重写、重定向
6.ngx_http_gzip_module
对指定类型的资源压缩传输以节约带宽