nginx编译参数

nginx的编译参数认真看一遍还是收获颇丰,做个笔记算是留个念想。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
--help                             print this message

--prefix=PATH set installation prefix
--sbin-path=PATH set nginx binary pathname
--modules-path=PATH set modules path
--conf-path=PATH set nginx.conf pathname
--error-log-path=PATH set error log pathname
--pid-path=PATH set nginx.pid pathname
--lock-path=PATH set nginx.lock pathname

--user=USER set non-privileged user for
worker processes
--group=GROUP set non-privileged group for
worker processes

--build=NAME set build name
--builddir=DIR set build directory

--with-select_module enable select module
--without-select_module disable select module
--with-poll_module enable poll module
--without-poll_module disable poll module //select poll epoll kqueue(freebsd),io多路复用

--with-threads enable thread pool support// 针对长耗时操作丢线程池,避免阻塞,基准测试9倍的提升

--with-file-aio enable file AIO support//多个io请求给内核,内核进行io请求合并优化,2.6.22以上
--with-http_ssl_module enable ngx_http_ssl_module
--with-http_v2_module enable ngx_http_v2_module
--with-http_realip_module enable ngx_http_realip_module
--with-http_addition_module enable ngx_http_addition_module //响应之后追加文本内容
--with-http_xslt_module enable ngx_http_xslt_module//XSLT模板转换XML应答,依赖libxml2和libxslt库
--with-http_xslt_module=dynamic enable dynamic ngx_http_xslt_module //支持动态加载,创建一个modules的子目录中
--with-http_image_filter_module enable ngx_http_image_filter_module //针对图片处理,缩放图片,旋转图片,验证图片,影响性能
--with-http_image_filter_module=dynamic
enable dynamic ngx_http_image_filter_module
--with-http_geoip_module enable ngx_http_geoip_module //ip获取位置
--with-http_geoip_module=dynamic enable dynamic ngx_http_geoip_module
--with-http_sub_module enable ngx_http_sub_module//过滤器,通过将一个指定的字符串替换为另一个字符串来修改响应
--with-http_dav_module enable ngx_http_dav_module//http扩展协议dav,增加一些方法
--with-http_flv_module enable ngx_http_flv_module flv流媒体文件支持,flv.js
--with-http_mp4_module enable ngx_http_mp4_module mp4流媒体文件支持
--with-http_gunzip_module enable ngx_http_gunzip_module 对不支持gzip的客户端返回解压后的数据
--with-http_gzip_static_module enable ngx_http_gzip_static_module //静态文件
--with-http_auth_request_module enable ngx_http_auth_request_module 鉴权
--with-http_random_index_module enable ngx_http_random_index_module //随机页面
--with-http_secure_link_module enable ngx_http_secure_link_module //比较简单防止盗链下载
--with-http_degradation_module enable ngx_http_degradation_module //内存不足的时候返回204,444
--with-http_slice_module enable ngx_http_slice_module //文件切片
--with-http_stub_status_module enable ngx_http_stub_status_module //ng运行状态监控

--without-http_charset_module disable ngx_http_charset_module //数据进行字符集转换等
--without-http_gzip_module disable ngx_http_gzip_module //gzip_comp_level设置
--without-http_ssi_module disable ngx_http_ssi_module //网页制作技术,在页面内容发送到客户端之前,使用SSI指令将文本、图片或代码信息包含到网页中
--without-http_userid_module disable ngx_http_userid_module //cookie
--without-http_access_module disable ngx_http_access_module //设置ip访问段
--without-http_auth_basic_module disable ngx_http_auth_basic_module//访问网页鉴权
--without-http_mirror_module disable ngx_http_mirror_module //流量镜像
--without-http_autoindex_module disable ngx_http_autoindex_module //打开目录浏览功能,下载
--without-http_geo_module disable ngx_http_geo_module //负载均衡,白名单限速
--without-http_map_module disable ngx_http_map_module //创建映射表,配合其他模块
--without-http_split_clients_module disable ngx_http_split_clients_module //A/B测试
--without-http_referer_module disable ngx_http_referer_module //防盗链
--without-http_rewrite_module disable ngx_http_rewrite_module //使用正则表达式(PCRE)改变请求的URI,返回重定向
--without-http_proxy_module disable ngx_http_proxy_module //反向代理
--without-http_fastcgi_module disable ngx_http_fastcgi_module //集成cgi
--without-http_uwsgi_module disable ngx_http_uwsgi_module //uwsgi协议Django
--without-http_scgi_module disable ngx_http_scgi_module//允许将请求传递给SCGI服务器
--without-http_grpc_module disable ngx_http_grpc_module //gRPC支持
--without-http_memcached_module disable ngx_http_memcached_module //memcached访问支持
--without-http_limit_conn_module disable ngx_http_limit_conn_module //同一ip连接数限制
--without-http_limit_req_module disable ngx_http_limit_req_module //每个ip每秒请求数
--without-http_empty_gif_module disable ngx_http_empty_gif_module //返回空白gif,解决浏览器访问网站favicon,缺少,导致404错误警告
--without-http_browser_module disable ngx_http_browser_module//解析User-Agent
--without-http_upstream_hash_module
disable ngx_http_upstream_hash_module//几种hash算法负载均衡
--without-http_upstream_ip_hash_module
disable ngx_http_upstream_ip_hash_module//IP哈希策略,同一ip分配同一服务器
--without-http_upstream_least_conn_module
disable ngx_http_upstream_least_conn_module//最少连接数的负载均衡
disable ngx_http_upstream_random_module
--without-http_upstream_keepalive_module
disable ngx_http_upstream_keepalive_module//客户端和服务器连接超时时间
--without-http_upstream_zone_module
disable ngx_http_upstream_zone_module //zone指令。定义共享内存zone的名称和大小, 共享内存zone用于保存集群配置和运行时状态

--with-http_perl_module enable ngx_http_perl_module //实现Perl的location和变量处理
--with-http_perl_module=dynamic enable dynamic ngx_http_perl_module
--with-perl_modules_path=PATH set Perl modules path
--with-perl=PATH set perl binary pathname

--http-log-path=PATH set http access log pathname
--http-client-body-temp-path=PATH set path to store
http client request body temporary files
--http-proxy-temp-path=PATH set path to store
http proxy temporary files
--http-fastcgi-temp-path=PATH set path to store
http fastcgi temporary files
--http-uwsgi-temp-path=PATH set path to store
http uwsgi temporary files
--http-scgi-temp-path=PATH set path to store
http scgi temporary files

--without-http disable HTTP server
--without-http-cache disable HTTP cache

--with-mail enable POP3/IMAP4/SMTP proxy module
--with-mail=dynamic enable dynamic POP3/IMAP4/SMTP proxy module
--with-mail_ssl_module enable ngx_mail_ssl_module
--without-mail_pop3_module disable ngx_mail_pop3_module
--without-mail_imap_module disable ngx_mail_imap_module
--without-mail_smtp_module disable ngx_mail_smtp_module

--with-stream enable TCP/UDP proxy module //模拟反代基于tcp或udp的服务连接,即工作于传输层的反代或调度器
--with-stream=dynamic enable dynamic TCP/UDP proxy module
--with-stream_ssl_module enable ngx_stream_ssl_module
--with-stream_realip_module enable ngx_stream_realip_module
--with-stream_geoip_module enable ngx_stream_geoip_module
--with-stream_geoip_module=dynamic enable dynamic ngx_stream_geoip_module
--with-stream_ssl_preread_module enable ngx_stream_ssl_preread_module
--without-stream_limit_conn_module disable ngx_stream_limit_conn_module
--without-stream_access_module disable ngx_stream_access_module
--without-stream_geo_module disable ngx_stream_geo_module
--without-stream_map_module disable ngx_stream_map_module
--without-stream_split_clients_module
disable ngx_stream_split_clients_module
--without-stream_return_module disable ngx_stream_return_module
--without-stream_upstream_hash_module
disable ngx_stream_upstream_hash_module
--without-stream_upstream_least_conn_module
disable ngx_stream_upstream_least_conn_module
--without-stream_upstream_random_module
disable ngx_stream_upstream_random_module
--without-stream_upstream_zone_module
disable ngx_stream_upstream_zone_module

--with-google_perftools_module enable ngx_google_perftools_module //google perftool优化性能
--with-cpp_test_module enable ngx_cpp_test_module

--add-module=PATH enable external module
--add-dynamic-module=PATH enable dynamic external module

--with-compat dynamic modules compatibility

--with-cc=PATH set C compiler pathname
--with-cpp=PATH set C preprocessor pathname
--with-cc-opt=OPTIONS set additional C compiler options
--with-ld-opt=OPTIONS set additional linker options
--with-cpu-opt=CPU build for the specified CPU, valid values:
pentium, pentiumpro, pentium3, pentium4,
athlon, opteron, sparc32, sparc64, ppc64

--without-pcre disable PCRE library usage
--with-pcre force PCRE library usage
--with-pcre=DIR set path to PCRE library sources
--with-pcre-opt=OPTIONS set additional build options for PCRE
--with-pcre-jit build PCRE with JIT compilation support

--with-zlib=DIR set path to zlib library sources
--with-zlib-opt=OPTIONS set additional build options for zlib
--with-zlib-asm=CPU use zlib assembler sources optimized
for the specified CPU, valid values:
pentium, pentiumpro

--with-libatomic force libatomic_ops library usage
--with-libatomic=DIR set path to libatomic_ops library sources

--with-openssl=DIR set path to OpenSSL library sources
--with-openssl-opt=OPTIONS set additional build options for OpenSSL

--with-debug enable debug logging