构建反向代理服务器时应删除哪些 Nginx 模块?

构建反向代理服务器时应删除哪些 Nginx 模块?

我将编译 Nginx。主要目的是将其用作反向代理。我还想启用它--with-http_auth_request_module

我应该禁用哪个 nginx 模块?

禁用下列功能是个好主意吗?因为我不会使用 Nginx 来发送邮件、FLV 和 MP4 流媒体。

--with-http_mp4_module 
--with-http_flv_module 
--with-mail 
--with-mail_ssl_module 

当我尝试使用 repo 安装 nginxdnf install nginx然后运行时,nginx -V它显示--with-http_auth_request_module正在配置参数。

这是否意味着--with-http_auth_request_module包含在我从存储库获取的已编译的 Nginx 中?

答案1

除非有非常好的理由,否则我不建议从源代码编译 Nginx。

最好从 repo 安装并找出可以调整 Nginx 中的哪些设置和配置值来调整性能。

首先你要陈述这一点。

“我将编译 Nginx。主要目的是将其用作反向代理。我还想启用它--with-http_auth_request_module。”

在我看来,你想得太多了。2023 年任何地方都沒有人应该编译像 Nginx 这样的常用工具的源代码。

我认为你混淆了编译功能和启用功能。意思是……

仅仅因为 Nginx 这样的二进制文件在编译时支持某些东西并不意味着它会默认启用。

您认为通过像这样对编译功能进行微观管理能获得什么好处?降低 RAM 或性能等资源使用率?您认为通过微观管理这些内容能获得的好处最多也只是微不足道的,甚至可能无法衡量。意思是……

更好的方法是通过你的操作系统使用的任何包安装程序来安装 Nginx,然后根据你的需要进行配置,而不要再考虑你不打算使用的东西。

然后你问这个:

“这是否意味着它--with-http_auth_request_module包含在我从存储库获取的已编译的 Nginx 中?”

是的,它包含在您从存储库获得的已编译 Nginx 中。但是,如上所述,仅仅因为它已编译--with-http_auth_request_module支持并不意味着它默认启用。这意味着它就在那里,您可以根据需要使用它。

所以最后,我不建议从源代码编译 Nginx。最好从 repo 安装,并找出可以调整 Nginx 中的哪些设置和配置值来调整性能。

我的意思是,--with-http_flv_module2023 年的情况似乎完全荒谬,因为浏览器对 Flash 的支持将于 2020 年 12 月 31 日终止。但这并不意味着如果你从源代码编译它,你就会以某种方式降低 Nginx 资源(如 RAM 使用率)并提高性能。

相关内容