mac编译安装nginx及nginx-echo-module
前言:
本人安装nginx-echo-module的初衷是之前遇到过一些时候,虽然有配置location规则,但是却在浏览器访问时,出现错误等未匹配或不符合预期的情况,想要知道,实际上是否有匹配哪条location规则,但是nginx的日志却只能记录请求url,所以,看到echo输出就很开心,毕竟感觉return不是那么好用的,作为一个小白前端,只能写到这种程度,各位参考指教吧~
- 下载nginx源码 下载地址:链接: https://pan.baidu.com/s/1m3icsunj6xxilfdyrxdqxq 密码: 936t
- 下载nginx-echo-module 链接:https://github.com/openresty/echo-nginx-module/releases/tag/v0.61
- 命令行新建文件夹,将下载下来的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
推荐阅读
-
在Mac上编译安装PHP7的开发环境
-
Centos7通过yum跟源码编译安装Nginx
-
php编译安装扩展redis及swoole
-
Mac下Nginx安装环境配置详解
-
CentOS下编译安装nginx及配置缩略图插件的方法教程
-
Centos7下编译安装配置Nginx+PHP+MySql环境
-
CentOS 7.3.1611编译安装Nginx1.10.3+MySQL5.7.16+PHP7.1.2
-
CentOS下编译、安装与配置nginx
-
Ubuntu上安装Nginx服务器程序及简单的环境配置小结
-
[环境配置]Ubuntu 16.04 源码编译安装OpenCV-3.2.0+OpenCV_contrib-3.2.0及产生的问题