1、 下載並解壓nginx
http://nginx.org/en/download.html
wget http://nginx.org/download/nginx-1.9.12.tar.gz tar -zxvf nginx-1.9.12.tar.gz
2、 編譯
./configure --prefix=/usr/local/server/nginx --with-http_ssl_module
error:
checking for PCRE library ... not found checking for PCRE library in /usr/local/ ... not found checking for PCRE library in /usr/include/pcre/ ... not found checking for PCRE library in /usr/pkg/ ... not found checking for PCRE library in /opt/local/ ... not found ./configure: error: the HTTP rewrite module requires the PCRE library. You can either disable the module by using --without-http_rewrite_module option, or install the PCRE library into the system, or build the PCRE library statically from the source with nginx by using --with-pcre=<path> option.
安裝pcre以解決問題
wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.38/pcre-8.38.tar.bz2 tar -xvf pcre-8.38.tar.bz2 cd pcre-8.38/ ./configure --prefix=/usr/local/src/pcre-8.38 make && make install
重新編譯nginx
./configure --prefix=/usr/local/server/nginx --with-pcre=/data/software/pcre-8.38--with-http_ssl_module
error
checking for md5 in system md library ... not found checking for md5 in system md5 library ... not found checking for md5 in system OpenSSL crypto library ... not found checking for sha1 in system md library ... not found checking for sha1 in system OpenSSL crypto library ... not found checking for zlib library ... not found ./configure: error: the HTTP gzip module requires the zlib library. You can either disable the module by using --without-http_gzip_module option, or install the zlib library into the system, or build the zlib library statically from the source with nginx by using --with-zlib=<path> option.
安裝zlib以解決問題
wget http://zlib.net/zlib-1.2.8.tar.gz tar -zxvf zlib-1.2.8.tar.gz ./configure --prefix=/usr/local/src/zlib-1.2.8 make && make install
重新編譯nginx
./configure --prefix=/usr/local/server/nginx --with-pcre=/data/software/pcre-8.38 --with-zlib=/data/software/zlib-1.2.8 --with-http_ssl_module
error (汗...)
checking for getaddrinfo() ... found checking for OpenSSL library ... not found checking for OpenSSL library in /usr/local/ ... not found checking for OpenSSL library in /usr/pkg/ ... not found checking for OpenSSL library in /opt/local/ ... not found ./configure: error: SSL modules require the OpenSSL library. You can either do not enable the modules, or install the OpenSSL library into the system, or build the OpenSSL library statically from the source with nginx by using --with-openssl=<path> option.
慣性作用下要安裝OpenSSL以解決問題 ,然而發現openssl已經安裝
which openssl /usr/bin/openssl
最后一次編譯安裝nginx...
./configure --prefix=/usr/local/server/nginx --with-pcre=/data/software/pcre-8.38 --with-zlib=/data/software/zlib-1.2.8 --with-http_ssl_module
--with-openssl=/usr/bin/openssl
然而
make && make install cd /usr/bin/openssl \ && if [ -f Makefile ]; then make clean; fi \ && ./config --prefix=/usr/bin/openssl/.openssl no-shared \ && make \ && make install_sw LIBDIR=lib /bin/sh: 第 0 行:cd: /usr/bin/openssl: 不是目錄 make[1]: *** [/usr/bin/openssl/.openssl/include/openssl/ssl.h] 錯誤 1
好吧,再安裝一次(用這樣的方法感覺自己要笨死了,但我真的找不到openssl的源碼目錄)
安裝openssl
wget https://www.openssl.org/source/openssl-1.0.2g.tar.gz tar -zxvf openssl-1.0.2g.tar.gz cd openssl-1.0.2g/ ./config --prefix=/usr/local/src/openssl make && make install
編譯安裝 nginx
./configure --prefix=/usr/local/server/nginx --with-pcre=/data/software/pcre-8.38 --with-zlib=/data/software/zlib-1.2.8 --with-http_ssl_module --with-openssl=/usr/bin/openssl
make && make instal
cp /usr/local/server/nginx/sbin/nginx /usr/local/sbin
收工