当前位置: 首页 > 知识库问答 >
问题:

nginx - amh的Nginx配置中sub_filter指令错误,如何添加或启用相应模块?

梅跃
2024-05-31

amh nginx 模块配置

修改规则时提示错误 nginx: [emerg] unknown directive "sub_filter" in…… 是没编译什么模块么?我换了nginx-generic-1.24和nginx1.26都不行。

location /lbs/{    # 跨域配置    add_header Access-Control-Allow-Origin *;    add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';    add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';    tcp_nodelay     on;    proxy_set_header X-Forwarded-Scheme  $scheme;    proxy_pass http://127.0.0.1:37781/;    proxy_set_header Host $host;    proxy_http_version 1.1;    proxy_set_header X-Real-IP $remote_addr;    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;     proxy_set_header Expect $http_expect;    proxy_connect_timeout 10d;    proxy_send_timeout 10d;    proxy_read_timeout 10d;    proxy_redirect / /lbs/;    # 子请求重写路径    sub_filter 'href="/' 'href="/lbs/';    sub_filter 'src="/' 'src="/lbs/';    sub_filter_once off;    sub_filter_types *;}

该如何补上这个模块?我手动修改了下 /root/amh/modules/nginx-1.26/AMHScript #install部分代码改成了,然后重启amh也没好使

./configure --prefix=${ModuleInstallPath} --user=www --group=www --with-http_ssl_module --with-cc-opt="-I/home/usrdata/${ModuleName}/openssl-3.1.5-quic/include" --with-ld-opt="-L/home/usrdata/${ModuleName}/openssl-3.1.5-quic/lib64" --with-http_gzip_static_module --with-http_v2_module --with-http_v3_module --with-threads --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --with-http_sub_module ;

能否提供下具体如何给nginx添加这个模块的教程?
我按照这个步骤操作了一遍也不行
1、编辑/root/amh/modules/nginx-1.26/AMHScript
2、修改nginx软件的安装脚本,在configure 增加一项
--with-http_sub_module
3、再安装nginx。amh nginx-1.26 install

共有1个答案

郝乐心
2024-05-31

要添加 ngx_http_sub_module 到 Nginx,你需要在编译 Nginx 时包含该模块。以下是一个基本的教程,说明如何为 Nginx 添加 ngx_http_sub_module 模块:

步骤 1: 获取 Nginx 源代码

如果你还没有 Nginx 的源代码,你需要从官方网站下载它,或者使用包管理器来获取。

步骤 2: 配置和编译 Nginx

在编译 Nginx 之前,你需要配置它,以便包含 ngx_http_sub_module。这通常是通过运行 ./configure 脚本并传递适当的选项来完成的。

在你的情况下,你已经编辑了 AMHScript 文件,并添加了 --with-http_sub_module 选项。确保这个选项没有被注释掉或误删除。

步骤 3: 重新编译和安装 Nginx

完成配置后,你可以编译和安装 Nginx。这通常涉及运行 makemake install 命令。

由于你使用的是 AMH,你需要使用 AMH 提供的脚本来完成这个过程。这通常意味着运行类似于 amh nginx-1.26 install 的命令。

注意事项:

  • 确保你的 AMH 环境允许你修改和重新编译 Nginx。有些系统可能不允许这样做,或者可能需要特定的步骤来更新或重新编译模块。
  • 在重新编译之前,最好备份现有的 Nginx 配置和任何重要的数据,以防万一出现问题。
  • 如果 AMH 脚本没有按预期工作,你可能需要手动执行 ./configuremakemake install 步骤。这通常涉及进入 Nginx 源代码目录并直接运行这些命令。

示例命令(手动方式):

# 进入 Nginx 源代码目录cd /path/to/nginx-source# 配置 Nginx,包含 sub_module./configure --prefix=/usr/share/nginx \            --sbin-path=/usr/sbin/nginx \            --modules-path=/usr/lib64/nginx/modules \            --conf-path=/etc/nginx/nginx.conf \            --error-log-path=/var/log/nginx/error.log \            --http-log-path=/var/log/nginx/access.log \            --with-pcre \            --with-http_ssl_module \            --with-http_sub_module \            # ... 其他你需要的选项 ...# 编译make# 安装sudo make install

请注意,你需要将 --prefix 和其他路径选项替换为你自己的路径,并包括所有你需要的模块和选项。

最后,如果 AMH 脚本没有按预期工作,你可能需要查阅 AMH 的文档或支持论坛,以获取关于如何正确安装和配置 Nginx 的更具体指导。

 类似资料:
  • 本文向大家介绍Nginx 启用 OCSP Stapling的配置,包括了Nginx 启用 OCSP Stapling的配置的使用技巧和注意事项,需要的朋友参考一下 这里,我将介绍什么是 OCSP Stapling 以及为什么要开启它。 在线证书状态协议(Online Certificate Status Protocol),简称 OCSP,是一个用于获取 X.509 数字证书撤销状态的网际协议,在

  • 我正在尝试用Ajax表单和swiftmailer发送电子邮件。它在本地工作,但在生产中不起作用。 当contact_me.php不是从表单而是显式写入的参数时,电子邮件甚至是从服务器发送的,所以我认为Swiftmailer正在工作。 contact_me.js contact_me.php

  • 关于在AMH面板使用nginx stream块的问题 因为想要复刻这个项目:https://www.notionfaster.org/%E5%AE%9E%E7%8E%B0%E6%96%B9%E6%B... 其中nginx设置的模块是 AMH的vhost中似乎只能设置server层级,有什么办法在不直接修改amh面板nginx的情况下,使用nginx stream块? 提问了openai很长时间,未

  • > 首先我使用了sudo apt-get install nginx 删除站点启用和站点可用中的默认文件 在站点中创建默认文件--在我有这些代码的地方可用(现在只尝试在端口3001中运行一个服务器)sudo vi默认服务器{listen 80; 位置/{proxy_pass“http://192.168.100.5:3001”;}} 上游项目{server http://localhost:300

  • nginx: [emerg] SSL_CTX_use_PrivateKey("/usr/local/amh-7.1/etc/ssl/amh.key") failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch) nginx: configuration file

  • 本文向大家介绍Nginx常见的错误配置举例,包括了Nginx常见的错误配置举例的使用技巧和注意事项,需要的朋友参考一下 Nginx是当前主流的Web服务。 以下是一些最常见的错误配置。 Missing root location root指令指定Nginx的根目录。 在上面的示例中,根目录是/etc/nginx,这意味着我们可以访问该目录下的文件。 上面的配置没有/的位置(location / {