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

  • 相关阅读:
    Leetcode Binary Tree Preorder Traversal
    Leetcode Minimum Depth of Binary Tree
    Leetcode 148. Sort List
    Leetcode 61. Rotate List
    Leetcode 86. Partition List
    Leetcode 21. Merge Two Sorted Lists
    Leetcode 143. Reorder List
    J2EE项目应用开发过程中的易错点
    JNDI初认识
    奔腾的代码
  • 原文地址:https://www.cnblogs.com/walei/p/9495947.html
Copyright © 2011-2022 走看看