Beim Kompilieren und Installieren des Nginx-Quellcodes sah ich ./configure --help, was ich nicht ganz verstand
--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
--with-http_xslt_module=dynamic enable dynamic ngx_http_xslt_module
--with-http_image_filter_module enable ngx_http_image_filter_module
--with-http_image_filter_module=dynamic
--with-select_module enable select module
--without-select_module disable select module
--with-poll_module enable poll module
--without-poll_module disable poll module
Müssen das oben genannte http_ssl-Modul und das http_v2-Modul in ./configure angegeben werden, bevor diese Funktion hinzugefügt und verwendet wird?
Wenn alle --with-Optionen nach ./configure kompiliert werden müssen, bevor sie verwendet werden können, welchen Sinn hat dann --without?
Wenn beispielsweise das obige select_module durch ./configure --with-select_module angegeben werden muss, bevor es kompiliert und verwendet werden kann, welche Bedeutung hat dann die Kompilierungskonfigurationsoption --without-select_module?
一部分模块是默认就会编译的,一部分是不会编译的,对于默认编译的,如果不想使用,可以使用without,对于默认不编译的,如果想使用,就用with.
官方文档中是这样描述
select_module
的对于既有with,又有without的,比如
select_module
模块,这个模块会根据系统的支持情况决定默认情况下该模块是否自动编译到nginx中。因此就有了两个选项,可以手动的控制这种行为。其它模块,如果只提供了
with
,那不就说明默认是不编译的,而只提供了without
,则说明是默认编译的的