前段時間生產環境中kibana無法直接訪問,需要測試下通過代 理訪問的方式來進行處理。Nginx,毫無疑問,現階段就決定是你了。然後開擼。首先呢就是搭建環境啊,就是在搭建的過程中,開始了我的踩坑之旅。
一、安裝nginx
nginx爲了適配不同的環境,採用的是源碼編譯,本次踩坑之旅
現在開始首先到官方網站上下載了安裝包
nginx-1.17.9.tar.gz
然後解壓
tar xvf nginx-1.17.9.tar.gz
進入目錄
cd nginx-1.17.9
./configure 進行配置安裝出現瞭如下的錯誤
./configure: error: the HTTP rewrite module requires the PCRE library.
二、安裝pcre
看上面error描述,原來是缺少pcre的庫啊,提示這麼明顯,下載一個pcre的庫安裝不就解決了麼。
進入pcre官網,下載
pcre-8.44.tar.gz
同上面操作一樣,解壓,安裝
./configure
沒錯,肯定都猜到了,一點都沒給面子,又報錯了
You need a C++ compiler for C++ support
不過在萬能的百度面前小問題啦。
搜索中……
搜索過後,網上鋪天蓋地的相同的帖子介紹出現這種問題怎麼處理,需要安裝gcc-c++,花了半天時間終於在一個稍微不同的連接中找到了gcc-c++相關的安裝依賴連接,帖子中很明確的說直接安裝這些包就可以完成gcc-c++的安裝哦。
然後我相信了,將包下載下來, 安裝,安裝成功了,系統也掛了,gcc-c++版本不一致,系統很多命令 起不來了,現在想想自己還是
too young too simple。
下面怎麼處理啊,環境都掛了,
好慌~~~
就怕大佬說
“你若安好,便是晴天;你若安不好,就是晴天霹靂了”
戰戰兢兢的重新選擇一臺設備,開始搭建原來設備的環境T_T。
三、安裝gcc-c++
既然已經知道了是版本問題,新的環境搭建的時候肯定要格外注 意了,red hat 6.3 x86_64系統,gcc 4.4.6版本,所以找對應版本gcc-c++。
網上到處都是
yum install -y gcc gcc-c++
完全沒考慮考慮像我們這樣都無法使用yum命令的小可愛啊。
到官網下載吧,速度 0 k每秒,沒看錯,是 0,不是 O ,不是 “OK”, 這條路走不通了啊,於是輾轉到csdn上下載,都是高版本的安裝包,無法使用啊。
偶然間看到了一個帖子,安裝包在系統鏡像的Packages目錄下,系統鏡像公司有提供下載的地方啊,剛還準備吐槽公司網速,現在不用了。下載好,解壓,果然都能找的到哈。
開始安裝gcc-c++,有依賴關係的,按提示安裝就好,就這三個就 可以了,網上相關教程的依賴包太多,大家根據實際情況選擇哈。
gcc-c+±4.4.6-4.el6.x86_64.rpm
libstdc+±4.4.6-4.el6.x86_64.rpm
libstdc+±devel-4.4.6-4.el6.x86_64.rpm
終於安裝好了gcc-c++,pcre包可以正常安裝啦
./configure make && make install
安裝成功,下面繼續nginx的安裝之旅吧。
一樣
./configure
然後
make && make install
什麼,還報錯,缺少zlib,繼續在 package 包中尋找,安裝
zlib-1.2.3-27.el6.x86_64.rpm
安裝後重新編譯,成功啦。
到nginx目錄下測試看看
./nginx -t
還報錯,我已經習慣了~~~
./nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
查看原因吧,原來在redhat 64位機器上, nginx可能讀取的pcre文件爲
/lib64/libpcre.so.1
文件.
所以在改用下面的軟連接:
ln -s /usr/local/lib/libpcre.so.1 /lib64/
成功解決,終於搭建完成了,掛了的環境就當死得其所了吧。
四、總結
1.Nginx需要pcre,zlib,openssl支持,本地環境openssl已經安裝
2.Pcre需要gcc-c++支持,本地環境gcc版本4.4.6
3.網上文檔僅供參考,很多都是複製拷貝的,相關環境沒有驗證
4.注意版本,注意版本,注意版本