目錄
- 項(xiàng)目場(chǎng)景:
- 問(wèn)題描述
- 原因分析:
- 解決方案:
項(xiàng)目場(chǎng)景:
今天編譯安裝nginx的時(shí)候想著要做rewrite功能,匆忙瞟了一眼編譯文檔就直接make&&make install了,然后再修改配置文件的時(shí)候一直報(bào)錯(cuò),語(yǔ)法死活過(guò)不去。現(xiàn)在記錄一下本次報(bào)錯(cuò)的情況。
問(wèn)題描述
由于本人的英語(yǔ)不怎么好,看了一下help文檔,一個(gè)without開頭的和一個(gè)disable開頭的,想都沒想直接添加了without開頭的模塊,噩夢(mèng)就此開始。
配置好文件的時(shí)候我依舊信心滿滿的./sbin/nginx -t 檢查語(yǔ)法,嗯?報(bào)錯(cuò)了,意料之中,可能是那里配置寫錯(cuò)了,可是當(dāng)我檢查了一遍又一遍的時(shí)候,開始慌了。
原因分析:
首先根據(jù)提示我們知道nginx無(wú)法解析rewrite,(未知的指令“rewrite”),我想著應(yīng)該是模塊沒裝,或者其依賴pcre、pcre-devel沒裝(大家排查的時(shí)候也可以看看這兩個(gè)依賴)。然后我檢查了一下依賴(圖一)。確實(shí)好像沒啥問(wèn)題,該裝的都裝了。我知道肯定是編譯或者依賴的問(wèn)題,然后我就打開了百度。
解決方案:
緊接著找到了這么一句話,默認(rèn)參數(shù)編譯nginx就會(huì)支持rewrite的模塊。然后我忽然想起來(lái)without是除什么之外,難不成我這個(gè)是把rewrite功能關(guān)掉了!然后我就直接編譯安裝,什么參數(shù)也沒加,果然,successful!
呵呵!被自己蠢哭了,順便分享一下我找到的一個(gè)關(guān)于nignx的編譯的小知識(shí)。
在"./configure"配置中,"–with"表示啟用模塊,也就是說(shuō)這些模塊在編譯時(shí)不會(huì)自動(dòng)構(gòu)建"–without"表示禁用模塊,也就是說(shuō)這些模塊在編譯時(shí)會(huì)自動(dòng)構(gòu)建,若你想Nginx輕量級(jí)運(yùn)行,可以去除一些不必要的模塊。