项目场景:
今天编译安装nginx的时候想着要做rewrite功能,匆忙瞟了一眼编译文档就直接make&&make install了,然后再修改配置文件的时候一直报错,语法死活过不去。现在记录一下本次报错的情况。
问题描述
由于本人的英语不怎么好,看了一下help文档,一个without开头的和一个disable开头的,想都没想直接添加了without开头的模块,噩梦就此开始。
配置好文件的时候我依旧信心满满的./sbin/nginx -t 检查语法,嗯?报错了,意料之中,可能是那里配置写错了,可是当我检查了一遍又一遍的时候,开始慌了。
原因分析:
首先根据提示我们知道nginx无法解析rewrite,(未知的指令“rewrite”),我想着应该是模块没装,或者其依赖pcre、pcre-devel没装(大家排查的时候也可以看看这两个依赖)。然后我检查了一下依赖(图一)。确实好像没啥问题,该装的都装了。我知道肯定是编译或者依赖的问题,然后我就打开了百度。
解决方案:
紧接着找到了这么一句话,默认参数编译nginx就会支持rewrite的模块。然后我忽然想起来without是除什么之外,难不成我这个是把rewrite功能关掉了!然后我就直接编译安装,什么参数也没加,果然,successful!
呵呵!被自己蠢哭了,顺便分享一下我找到的一个关于nignx的编译的小知识。
在”./configure”配置中,”–with”表示启用模块,也就是说这些模块在编译时不会自动构建”–without”表示禁用模块,也就是说这些模块在编译时会自动构建,若你想Nginx轻量级运行,可以去除一些不必要的模块。
到此这篇关于nginx使用rewrite报错的解决的文章就介绍到这了,更多相关nginx rewrite报错内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!