linux下编译安装nginx1.10.1

近期由于项目部署时需要部署一个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就是指定这三个的源文件目录,是不是不需要单独编译安装了呢?经过测试发现只需要解压到文件夹,然后配置上面的三个编译选项就可以编译成功了。

在一些文章中看到编译选项还可以配置--sbin-path,--conf-path,--pid-path,--with-http_ssl_module也符合我的需求,因为我要安装在自己制定的目录下方便管理,避免与已默认安装过的nginx发生冲突。查看了configure的编译选项后我又增加了--prefix指定了安装目录,编译安装都很成功,我把指定的安装目录打包拷贝到其他机器上,直接运行nginx,发现报错
nginx: [alert] could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (2: No such file or directory)
 [emerg] 802#0: open() "/usr/local/nginx/logs/access.log" failed (2: No such file or directory)

经过查看根本没有/usr/local/nginx这个目录,我想到估计是编译参数哪里没有配置,默认为/usr/local/nginx了,经过查看configure的help以及百度又增加了error.log的目录的指定--error-log-path,再次运行,又报了类似的文件找不到,我都对应的增加了路径的指定--http-log-path,--http-client-body-temp-path,--http-proxy-temp-path,--http-fastcgi-temp-path,--http-uwsgi-temp-path,--http-scgi-temp-path终于可以在我知道的目录下成功运行了。
./configure --sbin-path=/xxx/xxx/xxx/nginx-1.10.1/nginx --conf-path=/xxx/xxx/xxx/nginx-1.10.1/nginx.conf --error-log-path=/xxx/xxx/xxx/nginx-1.10.1/logs --http-log-path=/xxx/xxx/xxx/nginx-1.10.1/logs --http-client-body-temp-path=/tmp/client_body_temp --http-proxy-temp-path=/tmp/proxy_temp --http-fastcgi-temp-path=/tmp/fastcgi_temp --http-uwsgi-temp-path=/tmp/uwsgi_temp --http-scgi-temp-path=/tmp/scgi_temp --pid-path=/xxx/xxx/xxx/nginx-1.10.1/nginx.pid --with-http_ssl_module --with-pcre=./pcre-8.39 --with-zlib=./zlib-1.2.8 --with-openssl=./openssl-1.0.0

记录下来以便给自己和需要的人参考。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值