gpt4 book ai didi

nginx - 如何在 nginx 上安装模块?

转载 作者:行者123 更新时间:2023-12-03 19:43:01 51 4
gpt4 key购买 nike

运行 nginx -t 时出现此错误:

nginx: [emerg] unknown directive "subs_filter_types" in /etc/nginx/sites-enabled/my.site.com.conf:285
nginx: configuration file /etc/nginx/nginx.conf test failed

所以我需要安装替换过滤器模块并在 nginx 文档中 https://www.nginx.com/resources/wiki/modules/substitutions/#subs-filter-types
其中说运行这些命令:
git clone git://github.com/yaoweibin/ngx_http_substitutions_filter_module.git
./configure --add-module=/path/to/module

问题是我的 nginx 安装中的任何地方都没有配置脚本,也没有
git 存储库。我真的不明白。
至少我想知道那个 nginx 配置脚本的内容。

最佳答案

您所指的说明适用于编译安装。
假设你想将模块添加到现有的 NGINX 安装中,下面是让事情运行的通用步骤。

  • 从 nginx.org 获取与您安装的版本完全匹配的 NGINX 到您的系统,然后将其提取到,例如 /usr/local/src/nginx
  • git clone NGINX 模块的源代码到您的系统上,例如/usr/local/src/nginx-module-foo
  • cd /usr/local/src/nginx .在这里您可以找到 configure脚本。您将基本上使用 config 的位置配置 NGINX。有问题的特定模块,因此下一步:
  • ./configure --add-dynamic-module=../nginx-module-foo --with-compat
  • make

  • 作为编译的结果,您将拥有模块的 .so文件位于 objs 中的某处你的 NGINX 源目录。然后,您将其复制到例如 /usr/lib64/nginx/modules/目录。
    要让您现有的 NGINX 加载模块,请添加 load_module modules/foo.so;/etc/nginx/nginx.conf 的最顶端.
    您可以解读整个编译方法的许多缺点:一个是在生产系统上安装编译软件( gcc),另一个是在升级 NGINX 或模块时必须重新执行所有这些步骤。
    由于上述原因,您可能希望搜索第三方模块的打包安装。
    对于 CentOS/RHEL 系统,您可能想查看 GetPageSpeed repos(订阅软件,我倾向于提及它,因为我是维护者。但在撰写本文时,这对 CentOS/RHEL 8 是免费的. 安装你想要的模块, goes down 到几个命令:
    yum -y install https://extras.getpagespeed.com/release-latest.rpm
    yum -y install nginx-module-substitutions
    对于基于 Debian 的系统,可能存在相同的替代 PPA。

    关于nginx - 如何在 nginx 上安装模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59988807/

    51 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com