源码编译安装的Nginx增加echo模块过程详解

目录

一、准备工作与编译安装

二、替换与升级

三、验证与配置使用

四、操作要点总结


为已通过源码编译安装的 Nginx 增加 echo模块,核心在于在不破坏现有配置的前提下,通过重新编译将新模块集成进去。本文在LNMP脚本安装的nginx基础上,增加echo模块,下面是每个步骤的具体操作和指令。

一、准备工作与编译安装

  1. 检查现有Nginx配置

    首先,你需要知道当前Nginx的编译参数,这是后续编译的基础。使用以下命令查看:

    /usr/local/nginx/sbin/nginx -V

    请将路径 /usr/local/nginx/sbin/nginx替换为你的实际路径。记录下输出中 configure arguments:后面的所有参数。

    root@localhost mnt]# nginx  -V
    nginx version: nginx/1.26.0
    built by gcc 11.5.0 20240719 (Red Hat 11.5.0-5) (GCC)
    built with OpenSSL 1.1.1w  11 Sep 2023
    TLS SNI support enabled
    configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_v3_module --with-http_gzip_static_module --with-http_sub_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_realip_module --with-openssl=/mnt/lnmp2.2/src/openssl-1.1.1w --with-openssl-opt='enable-weak-ssl-ciphers' --with-pcre=/mnt/lnmp2.2/src/pcre-8.45 --with-pcre-jit   
  2. 下载Nginx源码与echo模块

    确保你下载的Nginx源码版本与当前正在运行的版本完全一致。

    • Nginx源码: 访问 Nginx官方下载页获取对应版本的源码包并解压。

    • echo模块: 从官方仓库下载,例如使用 wget

      wget https://github.com/openresty/echo-nginx-module/archive/v0.61.tar.gz
      tar zxvf v0.61.tar.gz
  3. 重新编译Nginx

    进入Nginx源码目录,使用之前的参数并添加echo模块进行配置。

    • 静态模块:模块会直接编译进Nginx核心。

      ./configure [你之前复制的所有参数] --add-module=/path/to/your/echo-nginx-module-0.61

      本文案例:

      #进入src目录
      cd  /mnt/lnmp2.2/src
      
      #解压nginx、openssl、pcre压缩包
      tar  xf  nginx-1.26.0.tar.gz
      tar  xf openssl-1.1.1w.tar.gz
      tar  xf  pcre-8.45.tar.bz2
      
      #配置
      ./configure  --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_v3_module --with-http_gzip_static_module --with-http_sub_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_realip_module --with-openssl=/mnt/lnmp2.2/src/openssl-1.1.1w --with-openssl-opt='enable-weak-ssl-ciphers' --with-pcre=/mnt/lnmp2.2/src/pcre-8.45 --with-pcre-jit   --add-module=/mnt/lnmp2.2/src/echo-nginx-module-0.61
    • 配置完成后,执行编译:

    make

    ⚠️ 重要提示

    1)此步骤只执行 make不要执行 make install,否则会覆盖现有安装;

    2)需要解压openssl、pcre压缩包。

二、替换与升级

  1. 备份并替换二进制文件

    编译完成后,在源码目录的 objs文件夹里会生成新的 nginx可执行文件。

    • 备份:首先备份正在运行的Nginx旧二进制文件,这是重要的安全措施。

      cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
    • 替换:将新编译的二进制文件复制到Nginx的安装目录。

      cp -f objs/nginx /usr/local/nginx/sbin/nginx
  2. 平滑升级(可选)

    如果希望在不中断服务的情况下升级,可以在Nginx源码目录下执行:

    make upgrade

三、验证与配置使用

  1. 验证模块安装

    • 再次执行 nginx -V,查看输出中是否包含了你添加的echo模块路径(如 --add-module=...)。

    • 检查配置文件语法:

      nginx -t
  2. 配置echo模块

    echo模块安装成功后,你可以在Nginx的配置文件中使用它。这里是一些常见用法示例:

    • 基础输出

      server{
            listen   888;
            server_name 10.0.16.7;
            location /test_basic {
                default_type text/plain;
                echo "\n";
                echo "Request URI: $request_uri";
                echo "uri: $uri";
                echo "request_filename: $request_filename";
                echo "args: $args";
                echo "Remote Address: $remote_addr";
                echo "User Agent: $http_user_agent";
                echo "Document Root: $document_root";
                echo "request_method:  $request_method";
                echo "http_user_agent: $http_user_agent";
                echo "http_referer: $http_referer";
                echo "server_name: $server_name";
                echo "server_port: $server_port";
                echo "host: $host";
                echo "status: $status";
                echo "body_bytes_sent: $body_bytes_sent";
      }
    • 高级功能(延迟/重复输出)

      location /test_advanced {
          default_type text/plain;
          echo "开始...";
          echo_sleep 1;       # 延迟1秒
          echo_duplicate 3 "重复三次 "; # 重复输出
          echo "结束。";
      }

四、操作要点总结

        为已安装的Nginx添加第三方模块,关键在于获取原有配置参数正确重新编译makemake install)以及妥善备份替换。完成后来命令行试试 curl http://你的服务器地址/test_basic,应该就能看到 echo 模块输出的信息了。

本资源围绕呼兰河流域边界及数字高程模型(DEM)数据进行系统整理与规范化构建,形成集空间数据、工程文件与制图成果于一体的综合数据集。资源以权威基础地理数据和水文资料为依据,结合地理信息系统(GIS)技术,对呼兰河流域的空间范围与地形特征进行统一表达,为流域水文分析、生态环境研究及区域规划提供可靠的数据基础与技术支撑。在数据内容方面,本资源准确描绘呼兰河流域边界范围,清晰反映流域整体空间形态及其与周边区域的空间关系。同时配套提供覆盖流域范围的 DEM 数据,完整表达区域地形起伏特征与高程分布格局,可支撑坡度、坡向、水系提取、汇流分析等多种基础地形与水文分析应用。在成果形式上,本资源同步提供可编辑的 ArcGIS MXD 工程文件、标准化 Shape 文件(SHP)以及高分辨率标准成图成果(TIF)。其中,MXD 文件已完成流域边界、DEM 图层组织、符号体系设置与制图版式编排,用户可在 ArcGIS 环境中直接进行二次编辑、参数调整与专题扩展;SHP 文件遵循通用 GIS 数据规范,具有良好的兼容性与可移植性,适用于多种 GIS 平台与空间分析场景;TIF 成图成果适合用于成果展示、技术报告及印刷输出。在制图规范与表达方面,成图严格遵循地图制图与水文地理表达规范,合理配置比例尺、指北针、图例及注记系统,突出流域边界轮廓与地形高程分布特征。整体风格科学、清晰,兼顾分析需求与视觉表达效果,可广泛应用于科研论文、项目汇报、规划文本及教学展示等多种场景。总体而言,该资源通过“流域边界数据 + DEM 数据 + 可编辑工程 + 标准成图”的综合形式,实现了呼兰河流域空间与地形信息的系统整合与高质量呈现,为流域水文模拟、生态环境评估以及区域管理决策提供了坚实的数据支撑和可靠的基础资料。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值