环境信息:
MACOS 版本:10.10.4
Nginx:nginx-1.9.5
Openssl:openssl-1.0.0e
Pcre:pcre-8.32
Zlib:zlib-1.2.8
编译步骤:
1. 在setup目录下下载nginx、pcre、zlib和openssl源码文件(tar.gz格式),并解压缩到setup目录下
2. 执行安装命令
cd ./setup/nginx-1.9.5
/Users/wuguowei/setup/nginx-1.9.5/configure --prefix=/opt/nginx/ --with-pcre=/Users/wuguowei/setup/pcre-8.32 --with-zlib=/Users/wuguowei/setup/zlib-1.2.8 --with-http_ssl_module --with-stream --with-stream_ssl_module --with-http_v2_module --with-openssl=/Users/wuguowei/setup/openssl-1.0.0e make && make install |
3. 报的错误信息:
1. Undefined symbols for architecture x86_64 解决办法: 在macbook os x x86_64环境下,参考下面的方法解决 $ export KERNEL_BITS=64 $ ./configure --prefix=/usr/local/tengine --with-openssl=xxx --with-pcre=xxx 然后到 ../tengine/objs/下,打开Makefile, 找到: ./config --prefix=xxx.openssl no-shared (注释:XXX是已的openssl路径) 把该段的 ./config 改成 ./Configure darwin64-x86_64-cc 其他后面参数不变,保存 然后再make就编译通过了 参考地址:http://www.oschina.net/question/96568_121563 |
2. 编译openssl时报:cannot create .../.openssl/ssl/man/man3/hmac.3: Too many levels of symbolic links 解决办法: configure命令执行成功后,在make和make install命令之前,删除../openssl-1.0.0e /.openssl 目录。 参考地址:https://trac.nginx.org/nginx/ticket/583 |