为nginx添加LUA模块

2023-12-23

我在 redhat 7.5 服务器上 rpm 安装了 nginx 1.12,它还有 LUA 5.1.4 我下载了 lua-nginx-module-0.10.13 tar ball 并将其放在 /etc/nginx/modules 下,但我无法使用 LUA auth 文件运行 nginx。

我在 /opt/openresty/ 下也有 openresty ..

http://openresty.org/en/installation.html http://openresty.org/en/installation.html我在这里遵循了“make”方法。

不幸的是,这个服务器无法访问互联网,所以我无法从 git 安装东西,这大大减慢了速度。我不确定如何在这里添加模块。任何评论都会有帮助。

这就是我的 nginx 配置的样子..

server
{
    listen 80;

    access_log  /opt/elk/logs/nginx/access.log  main;

    #auth_basic "admin";
    #auth_basic_user_file "/etc/nginx/passwd";

    client_max_body_size 100M;

    location /
    {
        proxy_pass http://127.0.0.1:9200;

        keepalive_timeout 300s;

        #auth_basic on;
        auth_basic "admin";
        auth_basic_user_file "/etc/nginx/passwd";

        access_by_lua_file '/etc/nginx/authorized.lua';
    }

    error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html
    {
        root   /usr/share/nginx/html;
    }
}

lua_access_file 导致错误

nginx:[emerg]未知指令“access_by_lua_file”是否有一些“包含”我需要在配置中定义来摆脱这个?

Thanks.


我根据问题和我的理解将您的问题分解为小任务。

1)错误明确表明您没有正确安装Lua-nginx-module。

Lua-nginx-模块文档 https://tecadmin.net/install-rpm-file-on-linux/

2)服务器无法访问互联网,因此无法从git下载。 *

  • 假设您正在从 Windows 进行 ssh 进入您的计算机。所以,请 检查下面的链接将文件从 Windows 复制到 Linux。

    通过WinSCP安装/访问 https://intranet.cs.hku.hk/csintranet/contents/technical/howto/winscp.jsp

如何使用 ssh 将文件从一台机器复制到另一台机器 https://unix.stackexchange.com/questions/106480/how-to-copy-files-from-one-machine-to-another-using-ssh

  • 此步骤将在您的服务器上获取所有必需的文件。

3)使用lua-nginx-module安装nginx的步骤。

  • lua nginx 模块兼容性检查。

     Nginx Compatibility
         The latest version of this module is compatible with the following versions of Nginx:
    
         1.13.x (last tested: 1.13.6)
         1.12.x
         1.11.x (last tested: 1.11.2)
         1.10.x
         1.9.x (last tested: 1.9.15)
         1.8.x
         1.7.x (last tested: 1.7.10)
         1.6.x
    
         Nginx cores older than 1.6.0 (exclusive) are not supported.
    

    nginx兼容性参考文档 https://github.com/openresty/lua-nginx-module#nginx-compatibility

  • 先决条件

    **- Centos/RHEL**[**In case if internet is working in your server**].
    
     yum install -y wget unzip gcc make openssl-devel pcre-devel zlib-devel 
    

    - 手动下载.rpm包并安装。

  1. 从 RPM 资源站点搜索先决条件

    • RPM 资源站点 https://tecadmin.net/install-rpm-file-on-linux/
  2. 将文件复制到 Linux 盒子中

    • 请参考上述第(2)点”服务器无法访问互联网,因此无法从 git 下载".
    1. 使用以下命令安装。

        rpm -i rpm-package-name
      

    在 Linux 上安装 rpm 文件 https://tecadmin.net/install-rpm-file-on-linux/

- 满足先决条件的压缩包安装。

 - [Installing gcc from source code ][6]         Similarly,you can look for
          other prerequistes.
  • 下载源代码

     $ rm -fr /tmp/nginx-build  
     $ mkdir /tmp/nginx-build
     $ cd /tmp/nginx-build
    
     $ wget http://nginx.org/download/nginx-1.13.0.tar.gz
    
     $ wget http://luajit.org/download/LuaJIT-2.0.4.tar.gz
    
     $ wget -O nginx_devel_kit.tar.gz https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz
    
     $ wget -O nginx_lua_module.tar.gz https://github.com/openresty/lua-nginx-module/archive/v0.10.8.tar.gz
    
  • 提取

      $ tar xvf LuaJIT-2.0.4.tar.gz
    
      $ tar xvf nginx-1.11.10.tar.gz
    
      $ tar xvf nginx_devel_kit.tar.gz
    
      $ tar xvf nginx_lua_module.tar.gz
    
  • 构建LuaJIT

    要使用LuaJIT构建Nginx,我们需要首先构建LuaJIT。这就像 make 命令一样简单

        $ cd /tmp/nginx-build/LuaJIT-2.0.4
        $ make install
         ==== Building LuaJIT 2.0.4 ====
         make -C src
         make[1]: Entering directory `/tmp/nginx/LuaJIT-2.0.4/src'
         ...
         ...
         ln -sf luajit-2.0.4 /usr/local/bin/luajit
         ==== Successfully installed LuaJIT 2.0.4 to /usr/local ====
    
  • 构建 Nginx

         $ cd /tmp/nginx-build/nginx-1.11.10
         $ LUAJIT_LIB=/usr/local/lib LUAJIT_INC=/usr/local/include/luajit-2.0 \
         ./configure \
         --user=nobody                          \
         --group=nobody                         \
         --prefix=/etc/nginx                   \
         --sbin-path=/usr/sbin/nginx           \
         --conf-path=/etc/nginx/nginx.conf     \
         --pid-path=/var/run/nginx.pid         \
         --lock-path=/var/run/nginx.lock       \
         --error-log-path=/var/log/nginx/error.log \
         --http-log-path=/var/log/nginx/access.log \
         --with-http_gzip_static_module        \
         --with-http_stub_status_module        \
         --with-http_ssl_module                \
         --with-pcre                           \
         --with-file-aio                       \
         --with-http_realip_module             \
         --without-http_scgi_module            \
         --without-http_uwsgi_module           \
         --without-http_fastcgi_module ${NGINX_DEBUG:+--debug} \
         --with-cc-opt=-O2 --with-ld-opt='-Wl,-rpath,/usr/local/lib' \
         --add-module=/tmp/nginx/ngx_devel_kit-0.3.0 \
         --add-module=/tmp/nginx/lua-nginx-module-0.10.8
         $ make install
    
  • 语法检查

      $ nginx -t
         nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
         nginx: configuration file /etc/nginx/nginx.conf test is successful
    
  • Nginx Lua 测试

    *根据您的 nginx 文件。

      location /
     {
     proxy_pass http://127.0.0.1:9200;
    
     keepalive_timeout 300s;
    
     #auth_basic on;
     auth_basic "admin";
     auth_basic_user_file "/etc/nginx/passwd";
    
     access_by_lua_file '/etc/nginx/authorized.lua'; }
    
  • 重新加载/重启nginx

         systemctl nginx restart
         systemctl nginx reload.
    

如何重新加载 nginx-systemctl-或-nginx-s https://superuser.com/questions/710986/how-to-reload-nginx-systemctl-or-nginx-s

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为nginx添加LUA模块 的相关文章

随机推荐

  • 如何在 SQL Server 中设置简单的计算字段?

    我有一个包含几个帐户字段的表 如下所示 MAIN ACCT GROUP ACCT SUB ACCT 我经常需要像这样组合它们 SELECT MAIN ACCT GROUP ACCT SUB ACCT FROM ACCOUNT TABLE 我
  • 如何使用 Java 10 检测拉链炸弹

    Apache POI 定期打开 zip 文件 因为 Microsoft Excel Word 文件是较新格式的 zip 文件 为了防止某些类型的拒绝服务攻击 它具有在打开 Zip 文件时不读取大量扩展的文件的功能 因此可以通过提供一个小的恶
  • Google Cloud Storage `predefinedAcl` 和 `file.makePublic()` 不起作用

    当我从 Firebase Cloud Functions Google Cloud Functions 将文件上传到 Firebase Storage Google Cloud Storage 时 我尝试获取永久下载 URL 我尝试设置pr
  • 在 Android 上调整 GridView 中的图像大小

    我按照本教程创建了一个GridView http developer android com guide tutorials views hello gridview html 这行 imageView setLayoutParams ne
  • iOS进程内部 - 如何获取信息?

    我正在寻找一个 API 来监视在普通 iPhone 未越狱 上运行的任务 这些是关于 查找CPU使用情况 我主要关心的问题 查找内存使用情况 查找磁盘使用情况 有多少读 写 查看网络使用情况 网络发送和接收的字节数 3G Wifi GSM
  • PHP/MySQL - SQL 语法错误?

    现在当我提交角色时 当我提交单词时 我收到下面列出的以下错误 除此之外一切正常 我在用htmlentities 我仍然收到此错误 如何防止此错误发生 有没有办法可以允许 转换或停止该字符 表单显示为错误 这是我得到的错误 You have
  • 在节点中使用 apollo -(无反应)

    我想使用 apollo 进行一些批量更新 我需要从节点启动批处理脚本 例如node myscript js 我不知道该怎么做 是否有一个简单的示例可以执行入门中描述的操作 https www apollographql com docs r
  • 如何使用存储库接口在 Spring Data 中通过其嵌套对象的 objectId 查找集合?

    我在 MongoDB 中有一个集合 其中包含如下项目 id ObjectId 53e4d31d1f6b66e5163962e3c name bob nestedObject id ObjectId 53f5a623cb5e4c1ed4f6c
  • 在适用于 iOS 的 HTML5 中包含 SVG

    我想在 HTML5 网页中包含 SVG 图像 通过 JavaScript 与此 SVG 交互 并应用 CSS 样式 如果可能的话 我更愿意将 SVG 保存在单独的文件中 我希望能够离线使用该网页 因此希望推荐的任何解决方案都与此兼容 请有人
  • 使用通用键值对对字典列表列表中的值求和

    如何对字典列表列表中的重复元素求和 样本清单 data user 1 rating 0 user 2 rating 10 user 1 rating 20 user 3 rating 10 user 4 rating 4 user 2 ra
  • Android 5.1推送通知图标为空白

    当使用 Parse 进行推送通知时 我们的应用程序始终显示应用程序的启动器图标 在最新的 Android 5 1 版本中 该图标显示为空白 白色方块 我尝试在元数据中设置图标
  • 如何在 Bash 中将 `4-7` 替换为 `4,5,6,7`

    Goal 我有一根长绳子s它表示由逗号和破折号分隔的一系列数字 见下文 当多个数字彼此跟随时 将写入两个极端数字并用破折号分隔 例如 该系列4 5 6 7写成4 7 我的目标是扩展这个字符串 使所有数字都用逗号分隔 4 7应该成为4 5 6
  • C# 获取 XML 标签值

    我有一个名为BackupManager xml
  • 如何防止任务管理器中的应用程序被杀死?

    我正在开发一个家长控制应用程序 用 WPF 编写 并且希望禁止任何人 包括管理员 终止我的进程 不久前 我在网上发现了以下代码 它几乎可以完美运行 只是有时不起作用 static void SetAcl var sd new RawSecu
  • ReactJS 如何在 React 中切换页面?

    因此 来自 Angular AngularJS 背景的人有状态 每个状态都是一个单独的页面 例如 在社交网络中 您可以有一个包含您的提要的状态 一个包含您的朋友列表的状态 或者一个查看个人资料的状态等 非常简单 对我来说 React 没有那
  • 在屏幕中央启动 Facebook 共享弹出窗口

    以下代码运行良好 并在屏幕上启动 Facebook 弹出窗口 但该弹出窗口未居中 a href http www facebook com share php u a
  • JavaScript 将
    替换为 \n

    我刚刚使用 JavaScript 和 PHP 在 MySQL 数据库中存储了一段文本并替换 n with br 我现在遇到的问题是 当我尝试使用 PHP 检索文本时 它会将其打印出来 br Dear Sir Maddam br This i
  • Django 动态 OR 查询

    我有一个MultipleChoiceField在保存汽车制造商的表格上 我想将我的汽车数据库过滤到已检查的品牌 但这会导致问题 我如何获得所有Q make 动态声明 我如何开始 value1 value2 我想如何结束 Q col valu
  • html 中的大括号和百分号是什么意思?

    我正在学习如何在 Django 框架中开发网站 我对模板 html 文件有一些不明白的地方 我看到教程使用了大括号 等 将逻辑嵌入到代码中 但是当我尝试在非 Django 服务器 Apache 中使用此语法时 此语法未被解释 我可以看到我的
  • 为nginx添加LUA模块

    我在 redhat 7 5 服务器上 rpm 安装了 nginx 1 12 它还有 LUA 5 1 4 我下载了 lua nginx module 0 10 13 tar ball 并将其放在 etc nginx modules 下 但我无