zoukankan      html  css  js  c++  java
  • 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

    收工

  • 相关阅读:
    构造函数模式知识的扩展
    JavaScript 创建对象之单例、工厂、构造函数模式
    javaScript 计算两个日期的天数相差
    类似购物车循环判断方法
    spring的@Transactional注解详细用法
    String.getBytes()方法中的中文编码问题(转)
    spring 定时任务的 执行时间设置规则-----看完这篇就懂了
    为什么说Redis是单线程的?
    你应该知道的 RPC 原理
    关系型数据库与NoSQL的对比
  • 原文地址:https://www.cnblogs.com/03-tornado/p/install-nginx.html
Copyright © 2011-2022 走看看