由于本人的英语不怎么好,看了一下help文档,一个without开头的和一个disable开头的,想都没想直接添加了without开头的模块,噩梦就此开始。
配置好文件的时候我依旧信心满满的./sbin/nginx -t 检查语法,嗯?报错了,意料之中,可能是那里配置写错了,可是当我检查了一遍又一遍的时候,开始慌了。
首先根据提示我们知道nginx无法解析rewrite,(未知的指令“rewrite”),我想着应该是模块没装,或者其依赖pcre、pcre-devel没装(大家排查的时候也可以看看这两个依赖)。然后我检查了一下依赖(图一)。确实好像没啥问题,该装的都装了。我知道肯定是编译或者依赖的问题,然后我就打开了百度。
紧接着找到了这么一句话,默认参数编译nginx就会支持rewrite的模块。然后我忽然想起来without是除什么之外,难不成我这个是把rewrite功能关掉了!然后我就直接编译安装,什么参数也没加,果然,successful!
在"./configure"配置中,"--with"表示启用模块,也就是说这些模块在编译时不会自动构建"--without"表示禁用模块,也就是说这些模块在编译时会自动构建,若你想Nginx轻量级运行,可以去除一些不必要的模块。
以上是nginx使用rewrite报错如何解决的详细内容。更多信息请关注PHP中文网其他相关文章!