近期由于项目部署时需要部署一个web服务器,就联想到近期很火的nginx,我的环境是rhel-server-5.8 32位的,所以着手编译安装nginx做为部署的web服务器,当然网上文章也很多,比如:
http://blog.csdn.net/dyllove98/article/details/8892509
http://www.cnblogs.com/skyblue/archive/2013/05/13/3075900.html
经过参考这些文章,发现多少总有些差异,有的说要装openssl-devel,有的说还要装pcre-devel,到底要不要安装这些呢?而且现场环境不连外网的没法用yum,所以抱着试一试的想法,按照第一篇文章方法下载了相关文件,版本略有差异,openssl-fips-2.0.2,zlib-1.2.8(http://zlib.net/zlib-1.2.8.tar.gz),pcre8.39(ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.zip),nginx1.6.0,编译安装前三个都很顺利,nginx configure也成功了,但是make的时候报错,
src/event/ngx_event_openssl.h:15:25: error: openssl/ssl.h: No such file or directory
src/event/ngx_event_openssl.h:16:25: error: openssl/err.h: No such file or directory
大致是说openssl的很多头文件没找到,我就觉得不对劲。
参考其他文章只是说要安装openssl没有说openssl-filps,这两个什么区别?百度了一下,也没看懂,不管了,先试试openssl吧,直接在官网(https://www.openssl.org/source/old/1.0.0/openssl-1.0.0.tar.gz)上下了openssl1.0.0,有顺便下了最新的nginx稳定版1.10.1(http://nginx.org/download/nginx-1.10.1.tar.gz),材料都准备好了,开始编译nginx,我发现很多文章都是要把准备的openssl什么的都编译一遍,而nginx的configure命令中有参数--with-pcre,--with-zlib,--with-openssl就是指定这三个的源文件目录,是不是不需要单独编译安装了呢?经过测试发现只需要解压到文件夹,然后配置上面的三个编译选项就可以编译成功了。
[emerg] 802#0: open() "/usr/local/nginx/logs/access.log" failed (2: No such file or directory)
记录下来以便给自己和需要的人参考。