openssl升级及nginx重新编译

来源:互联网 发布:淘宝全球买手那些人 编辑:程序博客网 时间:2024/05/22 06:18
openssl升级
参考http://blog.csdn.net/xysoul/article/details/49913645



nginx重新编译
1
2
/usr/local/nginx/sbin/nginx -V
3
cd /opt/nginx-1.8.1
4
./configure  --prefix=/usr/local/nginx --with-http_stub_status_module  --with-http_realip_module  --with-http_ssl_module --with-openssl=/usr/local/ssl
5
make 
6
#千万别make install,否则就覆盖安装了
7
cp /usr/local/nginx/sbin/nginx  /usr/local/nginx/sbin/nginx.bak
8
ps -ef |grep nginx
9
#查看master进程号XX
10
kill -QUIT  XXX
11
cp /opt/nginx-1.8.1/objs/nginx /usr/local/nginx/sbin/nginx
12
/usr/local/nginx/sbin/nginx -t
13
/usr/local/nginx/sbin/nginx


make的时候编译报错了,参考以下方法解决
[/usr/local/openssl//.openssl/include/openssl/ssl.h] Error 127

1
解决Nginx添加openssl模块编译时报错问题    ##以下是原作者的内容
2
/bin/sh: line 2: ./config: No such file or directory
3
make[1]: *** [/usr/local/ssl/.openssl/include/openssl/ssl.h] Error 127
4
make[1]: Leaving directory `/usr/local/src/nginx-1.9.9'
5
make: *** [build] Error 2
6
需要说明的是,我这里编译所使用的Nginx源码是1.9.9的。根据报错信息我们知道,出错是因为Nginx在编译时并不能在/usr/local/ssl/.openssl/ 这个目录找到对应的文件,其实我们打开/usr/local/ssl/这个目录可以发现这个目录下是没有.openssl目录的,因此我们修改Nginx编译时对openssl的路径选择就可以解决这个问题了
7
解决方案:
8
打开nginx源文件下的/usr/local/src/nginx-1.9.9/auto/lib/openssl/conf文件:
9
找到这么一段代码:
10
CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include"
11
CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h"
12
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a"
13
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"
14
CORE_LIBS="$CORE_LIBS $NGX_LIBDL"
15
修改成以下代码:
16
CORE_INCS="$CORE_INCS $OPENSSL/include"
17
CORE_DEPS="$CORE_DEPS $OPENSSL/include/openssl/ssl.h"
18
CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libssl.a"
19
CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libcrypto.a"
20
CORE_LIBS="$CORE_LIBS $NGX_LIBDL"
21
 然后再进行Nginx的编译安装即可
22
##向原作者表示感谢,留为笔记
来源: http://blog.chinaunix.net/uid-2274226-id-5756596.html


原创粉丝点击