zoukankan      html  css  js  c++  java
  • mac编译安装nginx及nginx-echo-module

    前言:

    本人安装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应该在浏览器控制台输出才对,可能还是哪里没太搞对吧【补充:今天做测试时,发现可以在页面上直接展示echo的字符串,好像只有匹配location时,会下载这个文件~(有待考证)】),不过到目前为止,nginx-echo也算能用了,不枉捣鼓了一天

    注:

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

    参考链接:

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

  • 相关阅读:
    Dockerfile编写语法
    java应用测试报告生成(二):利用ant的build.xml生成测试报告
    java应用测试报告生成(一): sonarqube配合Jenkins生成测试报告及覆盖率
    cannot create windows service for mysql
    线程交互:生产消费模型
    线程同步与锁
    线程的五种状态及改变状态的三种方法
    简单的git入门介绍及常用操作
    CentOS/RHEL 7中的firewall控制
    oracle数据库兼容mysql的差异写法
  • 原文地址:https://www.cnblogs.com/walei/p/9495947.html
Copyright © 2011-2022 走看看