欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mac编译安装nginx及nginx-echo-module

程序员文章站 2023-04-03 11:07:13
前言: 本人安装nginx-echo-module的初衷是之前遇到过一些时候,虽然有配置location规则,但是却在浏览器访问时,出现错误等未匹配或不符合预期的情况,想要知道,实际上是否有匹配哪条location规则,但是nginx的日志却只能记录请求url,所以,看到echo输出就很开心,毕竟感 ......

前言:

本人安装nginx-echo-module的初衷是之前遇到过一些时候,虽然有配置location规则,但是却在浏览器访问时,出现错误等未匹配或不符合预期的情况,想要知道,实际上是否有匹配哪条location规则,但是nginx的日志却只能记录请求url,所以,看到echo输出就很开心,毕竟感觉return不是那么好用的,作为一个小白前端,只能写到这种程度,各位参考指教吧~

  1. 下载nginx源码 下载地址:链接: https://pan.baidu.com/s/1m3icsunj6xxilfdyrxdqxq 密码: 936t
  2. 下载nginx-echo-module  链接:https://github.com/openresty/echo-nginx-module/releases/tag/v0.61
  3. 命令行新建文件夹,将下载下来的nginx源码解压,cd到该目录

./configure

sudo make

sudo make install

此时,nginx已经成功安装到系统/usr/local/nginx目录下,可执行文件是/usr/local/nginx/sbin中的nginx文件

启动命令:cd /usr/local/nginx/sbin

           sudo ./nginx

重启使配置生效  sudo ./nginx -s reload

停止服务  sudo ./nginx -s stop

  4. 将nginx-echo-module解压后移动到3中目录下

sudo ./configure --add-module=echo-nginx-module-0.61

sudo make

sudo make install

  这个过程中,因为按照网上教程操作,但是,下载的0.60及0.58在sudo make时都会在控制台报2个错,因为没截图,记得报错是赋值类型不匹配相关,错误文件是http-request.c,后来尝试下载了链接中的0.61版本,重新从.configure执行一次,发现没有报错了(这个过程真是煎熬啊,自己又不懂nginx实现的细节,网上又没有很多类似报错信息,像没头苍蝇一样乱试)

   接下来,发现nginx安装目录下的nginx.conf不允许修改,尝试在文件简介处将权限修改为可读写,但是还是不行,只能讲文件复制到别处修改后再覆盖回来,个人其他nginx配置是放在nginx安装目录下新建了一个servers文件夹,里头有各种域名的配置文件

   此时,再在任意location /xxx配置中echo 'xxxxx' 然后在浏览器中访问该域名:端口号/location路径, 发现回车后,浏览器会自动下载下来一个文件,内容为echo输出的字符串(这里不太明白为什么,开始初衷是以为echo应该在浏览器控制台输出才对,可能还是哪里没太搞对吧),不过到目前为止,nginx-echo也算能用了,不枉捣鼓了一天

 

注:

这种方法只适用于自己编译nginx源码,不适用于直接下载安装nginx的(包括npm install,brew install等),直接下载的在安装目录下是没有.configure可执行文件的!

参考链接:

https://blog.csdn.net/rex_nie/article/details/79305097