centOS 編譯安裝nginx


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

收工

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM