以第三方openresty提供的模块:echo-nginx-module 为例,演示如何给已经安装好的nginx添加外部模块

2023-05-05 19:38:13 浏览数 (1)

如何给nginx添加外部模块

以第三方openresty提供的模块:echo-nginx-module 为例,演示如何给已经安装好的nginx添加外部模块。

前提介绍

测试机的nginx目录在: /usr/local/nginx

使用ls 可以查看该目录下的内容如下:

代码语言:javascript复制
client_body_temp  html  nginx-1.13.9         proxy_temp  scgi_temp
conf              fastcgi_temp       logs  nginx-1.13.9.tar.gz  sbin        uwsgi_temp

下载第三方模块

进入 /usr/local/nginx,目录操作。可以使用命令下载:

代码语言:javascript复制
wget  https://github.com/openresty/echo-nginx-module/archive/v0.61.tar.gz

解压 重命名

下载后会保存到一个 v0.61 的目录,其实是 v0.61.tar.gz,可以使用以下命令解压:

代码语言:javascript复制
tar -zxvf v0.61

解压后会看到一个目录 echo-nginx-module-0.61 生成了,可以将其重命名一下:

代码语言:javascript复制
mv echo-nginx-module-0.61 echo-nginx-module

重新编译 add新模块

因为已经安装好了nginx, 所以只需要重新编译添加模块即可,以下是详细操作步骤。

切换目录

代码语言:javascript复制
cd /usr/local/nginx/nginx-1.13.9

使用命令--add-module添加模块

代码语言:javascript复制
./configure --prefix=/usr/local/nginx --add-module=/usr/local/nginx/echo-nginx-module

make生成可执行的二进制文件nginx

代码语言:javascript复制
make

到此为止,会在目录 /usr/local/nginx/nginx-1.13.9/objs 生成一个可执行的二进制文件 nginx

对于已经安装好的nginx,只需要make即可; make后会在objs目录生成一个新的nginx可执行文件,替换原来的即可(记得备份一下)

备份

备份原来的可执行nginx文件:

代码语言:javascript复制
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.back

覆盖

使用新的覆盖旧的可执行二进制文件:

代码语言:javascript复制
cp /usr/local/nginx/nginx-1.13.9/objs/nginx /usr/local/nginx/sbin/nginx

修改配置文件nginx.conf

代码语言:javascript复制
location / {
    root   html;
    index  index.html index.htm;
    # mime类型改成这个,不然默认的是二进制流;会变成文件下载的方式...
    default_type    text/plain;
    echo "This is echo module:192.168.75.134";
}

启动测试

重新启动nginx服务,然后浏览器访问测试,会在浏览器显示:

This is echo module:192.168.75.134

0 人点赞