前段时间生产环境中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.注意版本,注意版本,注意版本