目录
一、模块参数:
1、模块参数使用范围更换,功能更加强大,内容更多。
nginx大致结构,分两部分:核心代码+若干的模块。
模块是插到核心代码之上,然后与核心代码配合,完成nginx所要完成的特定任务。
核心代码只是一个中心功能,仅仅 维持最重要的代码和资源调配,对外表现出的功能几乎是没有的。
nginx的一些能力和服务,是由这些模块配合核心代码完成的。
2、自动化配置参数
事件模块:events
HTTP模块(默认编入):./configure 时不写,也默认写入功能的,叫默认编入
HTTP模块(默认不编入):./configure 时不写,就默认不写入功能的,叫默认不编入
Mail模块(邮件代理服务):
其他模块:
二、各模块解析
这些模块如果已经加入了,只是说nginx支持这个功能了,但是具体要实现,还要看是否有需要依赖的辅助模块或功能配合操作才可以。
1、事件模块参数
参数 | 意义 |
--with-rtsig_module | 使用rtsig module处理事件驱动(默认不安装) |
--with-select_module | 使用select module处理事件驱动(默认不安装) |
--without-select_module | 不安装select module |
--with-poll_module | 使用poll module处理事件驱动(默认不安装) |
--without-poll_module | 不安装poll module |
--with-aio_module | 使用AIO方式处理事件驱动,与FreeBSD kqueue合作 (默认不安装) |
2、默认即编译进入NginX的HTTP模块(加上without,则会丧失相应功能)
默认编译进NginX的HTTP模块 | 意义 |
--without-http_charset_module | 该模块对HTTP响应重编码 |
--without-http_gzip_module | 该模块对响应包体执行gzip压缩(节省web流量,传输速度快,但会给服务端增加压力) |
--without-http_ssi_module | 该模块可以向返回的HTTP响应包体中加入特定内容, 如HTML文件中固定的页头和页尾 |
--without-http_userid_module | 该模块可以通过HTTP请求头部信息认证用户信息, 确定请求是否合法 |
--without-http_access_module | 该模块可以根据IP地址限制能够访问服务器的客户端 |
默认编译进NginX的HTTP模块 | 意义 |
--without-http_auth_basic_module | 该模块可以根据用户名+密码认证, 401认证 |
--without-http_autoindex_module | 该模块提供简单目录浏览功能 |
--without-http_geo_module | 该模块可以根据IP向不同客户端返回不一样的结果 |
--without-http_map_module | 该模块可以建立一个Key/value映射表,如: 302重定向,可以根据URL不同返回不同的location |
--without-http_split_clients_module | 该模块可以根据客户端信息(IP、 header、 cookie等)区分处理 |
默认即编译进入NginX的HTTP模块
默认编译进NginX的HTTP模块 | 意义 |
--without-http_referer_module | 该模块可以根据请求中的referer字段来拒绝请求 |
--without-http_rewrite_module | 该模块支持HTTP请求在NginX服务内部重定向[PCRE] |
--without-http_proxy_module | 该模块提供HTTP反向代理功能 |
--without-http_fastcgi_module | 该模块提供FastCGI功能 |
--without-http_uwsgi_module | 该模块提供uWSGI功能 |
--without-http_scgi_module | 该模块提供SCGI功能 |
默认即编译进入NginX的HTTP模块
默认编译进NginX的HTTP模块 | 意义 |
--without-http_memcached_module | 该模块为上游服务器提供缓存服务 |
--without-http_limit_zone_module | 该模块可以针对IP限制并发连接数 |
--without-http_limit_req_module | 该模块可以针对IP限制连接频率 |
--without-http_empty_gif_module | 该模块收到无效请求后,立即返回内存中的1*1 像素的GIF图片。优点:对于明显的无效请求不 会去试图浪费服务器资源 |
默认即编译进入NginX的HTTP模块
默认编译进NginX的HTTP模块 | 意义 |
--without-http_browser_module | 该模块根据HTTP请求中的user-agent字 段识别浏览器 |
--without-http-upstream_ip_hash_module | 该模块提供NginX与后端服务连接时, 根据IP做散列运算来决定与后端哪台服 务通信,这样可以实现负载均衡。 |
3、默认不编译进入NginX的HTTP模块
默认不编译进NginX的HTTP模块 | 意义 |
--with-http_ssl_module | 该模块提供HTTPS服务 |
--with-http_realip_module | 该模块可以从请求的header信息中获取真正的 客户端IP地址 |
--with-http_addition_module | 该模块可以在返回的HTTP包体头部或尾部增加 内容 |
--with-http_xslt_module | 该模块可以使XML格式的数据在发给客户端前 加入XSL渲染,依赖libxml2和libxslt库 |
默认不编译进NginX的HTTP模块 | 意义 |
--with-http_image_filter_module | 该模块可以实时压缩为指定大小的缩略图,支 持JPEG、 PNG、 GIF等格式,依赖libgd |
--with-http_geoip_module | 该模块可以依据MaxMind GeoIP的IP地址库得到 客户端的实际地理位置信息 |
--with-http_sub_module | 该模块可以替换返回的HTTP响应字符串 |
--with-http_dav_module | 该模块可以让NginX支持Webdav标准 |
WebDAV协议 | 意义 |
Option、 Head、 Trace | 用来发现和跟踪服务器支持和网络行为 |
Get | 检索文档 |
Put、 Post | 将文档提交到服务器 |
Delete | 销毁资源 |
Mkcol | 创建集合 |
PropFind、 PropPatch | 针对资源和集合检索和设置索性 |
Copy、 Move | 挂历命名空间上下文中的集合和资源 |
Lock、 Unlock | 改写保护 |
默认不编译进入NginX的HTTP模块
默认不编译进NginX的HTTP模块 | 意义 |
--with-http_flv_module | 该模块使FLV格式的视频可以观看、拖动 |
--with-http_mp4_module | 该模块使MP4格式的视频可以观看、拖动 |
--with-http_gzip_static_module | 该模块可以在做gzip压缩前,先查看原位置是否 有.gz文件,如果有,直接返回,从而给CPU减负。 |
--with-http_random_index_module | 该模块在客户端访问某个目录时,随机返回该 目录下的任意文件 |
默认不编译进入NginX的HTTP模块
默认不编译进NginX的HTTP模块 | 意义 |
--with-http_secure_link_module | 该模块提供一种验证请求是否有效的机制。 例如,它会验证URL中需要加入的token参数 是否属于特定客户端发来的,以及检查时间 戳是否过期 |
--with-http_degradation_module | 该模块针对一些特殊的系统调用做一些优化, 如直接返回HTTP响应码为204或者444 |
--with-http_stub_status_module | 该模块可以让运行中的NginX提供性能统计 页面,获取相关的并发链接和请求的信息。 |
--with-http_google_perftools_module | 该模块提供Google的性能测试工具 |
4、邮件代理服务器相关的mail模块
参数 | 意义 |
--with-mail | 安装邮件服务器反向代理模块,使NginX可是反向代理 IMAP、 POP3、 SMTP等协议(默认不安装) |
--with-mail_ssl_module | 该模块可以使IMAP、 POP3、 SMTP等协议基于SSL/TLS协议 之上使用(默认不安装,依赖OpenSSL) |
--without-mail_pop3_module | 使用—with-mail参数后, pop3 module默认安装,通过此 参数不安装pop3 module |
--without-mail_imap_module | 使用—with-mail参数后, imap module默认安装,通过此 参数不安装imap module |
--without-mail_smtp_module | 使用—with-mail参数后, smtp module默认安装,通过此 参数不安装smtp module |
5、其它参数
参数 | 意义 |
--with-debug | 打印调试级别的日志 |
--add-module=PATH | 加入第三方模块 |
--without-http | 禁用HTTP服务 |
--without-http-cache | 禁用HTTP服务器里的缓存Cache特性 |
--with-file-aio | 启用文件的异步I/O功能来处理磁盘文件 |
--with-ipv6 | NginX支持IPv6 |
--user=USER | 指定NginX worker进程运行时所属的用户。 不要将启动worker进程的用户设为root,在worker进程出问题时master进程要 具备停止/启动worker进程的能力 |
--group=GROUP | 指定NginX worker进程运行时所属的组 |
文章评论