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

收工

原文地址:https://www.cnblogs.com/03-tornado/p/install-nginx.html