openssl升级及nginx重新编译
来源:互联网 发布:淘宝全球买手那些人 编辑:程序博客网 时间:2024/05/22 06:18
openssl升级
参考http://blog.csdn.net/xysoul/article/details/49913645
1
tar -zxvf openssl-1.0.2l.tar.gz
2
./config shared zlib-dynamic
3
#注意如果有问题,会显示出来,一般是perl版本问题
4
#,Perl v5.10.0 required--this is only v5.8.8, stopped at ./Configure line 12.config完成后执行 make 命令
5
make
6
make 命令执行完后再执行 make install 命令,安装openssl
7
make install
8
#重命名原来的openssl命令
9
mv /usr/bin/openssl /usr/bin/openssl.old
10
#重命名原来的openssl目录
11
mv /usr/include/openssl /usr/include/openssl.old
12
#将安装好的openssl 的openssl命令软连到/usr/bin/openssl
13
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
14
#将安装好的openssl 的openssl目录软连到/usr/include/openssl
15
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
16
#修改系统自带的openssl库文件,如/usr/local/lib64/libssl.so(根据机器环境而定) 软链到升级后的libssl.so
17
ln -s /usr/local/ssl/lib/libssl.so /usr/local/lib64/libssl.so
18
#执行命令查看openssl依赖库版本是否为1.0.1g:
19
strings /usr/local/lib64/libssl.so |grep OpenSSL
20
#在/etc/ld.so.conf文件中写入openssl库文件的搜索路径
21
echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
22
#使修改后的/etc/ld.so.conf生效
23
ldconfig -v
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
阅读全文
1 0
- openssl升级及nginx重新编译
- 重新编译Nginx指导手册【修复静态编译Openssl的Nginx漏洞 】[Openssl Heartbleed]
- 安装openssl php重新编译
- nginx的--openssl版本升级
- 重新编译nginx
- 关于nginx重新编译
- centos7编译安装nginx及无缝升级https
- php 不重新编译增加openssl扩展
- Php 不重新编译安装openssl 扩展
- php无需重新编译安装openssl扩展
- Nginx重新编译添加模块
- Nginx重新编译添加模块
- Nginx重新编译添加模块
- Nginx重新编译添加模块
- Nginx重新编译添加模块
- linux/centos安装nginx常见错误及解决办法【make错误,需要yum -y install openssl openssl-devel或者自己下载然后重新./configure】
- openssl源码下载及编译
- nginx静态编译openssl并且使用gdb调试openssl
- 【Python】命令行参数使用
- OPENSIPS安装配置过程记录
- nginx ssl配置
- The "android" command is deprecated
- 5.3-全栈Java笔记:面向对象特征(二)封装、多态
- openssl升级及nginx重新编译
- Promise使用
- JS_div田字格布局
- 35+ 个 Java 代码性能优化总结
- opensips 搭建SIP服务器--mysql
- Oracle数据库中字段定义为Char类型,Hibernate用该字段进行动态绑定参数查询,获取不到结果的问题
- ssha
- html中文乱码之我见
- nginx安装