美文网首页程序员
Nginx安装详细流程

Nginx安装详细流程

作者: 您好简书 | 来源:发表于2019-07-28 02:29 被阅读0次
    nginx安装环境

    nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。

    gcc

    安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++

    会出现# yum 安装软件时出现 is this ok [y/d/n]

    y下载安装

    d只下载不安装

    n不安装

    PCRE

    PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
    yum install -y pcre pcre-devel
    注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。

    zlib

    zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
    yum install -y zlib zlib-devel

    openssl

    OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
    nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
    yum install -y openssl openssl-devel

    [root@Nigux ~]# yum install gcc-c++
    已加载插件:fastestmirror, langpacks
    /var/run/yum.pid 已被锁定,PID 为 9006 的另一个程序正在运行。
    Another app is currently holding the yum lock; waiting for it to exit...
      另一个应用程序是:PackageKit
        内存: 51 M RSS (396 MB VSZ)
        已启动: Sun Jul 28 01:05:14 2019 - 00:19之前
        状态  :睡眠中,进程ID:9006
    Another app is currently holding the yum lock; waiting for it to exit...
      另一个应用程序是:PackageKit
        内存: 51 M RSS (396 MB VSZ)
        已启动: Sun Jul 28 01:05:14 2019 - 00:21之前
        状态  :睡眠中,进程ID:9006
    Loading mirror speeds from cached hostfile
     * base: mirrors.163.com
     * extras: mirrors.163.com
     * updates: mirrors.163.com
    base                                                            | 3.6 kB  00:00:00     
    extras                                                          | 3.4 kB  00:00:00     
    updates                                                         | 3.4 kB  00:00:00     
    正在解决依赖关系
    --> 正在检查事务
    ---> 软件包 gcc-c++.x86_64.0.4.8.5-36.el7_6.2 将被 安装
    --> 正在处理依赖关系 libstdc++-devel = 4.8.5-36.el7_6.2,它被软件包 gcc-c++-4.8.5-36.el7_6.2.x86_64 需要
    --> 正在处理依赖关系 libstdc++ = 4.8.5-36.el7_6.2,它被软件包 gcc-c++-4.8.5-36.el7_6.2.x86_64 需要
    --> 正在处理依赖关系 gcc = 4.8.5-36.el7_6.2,它被软件包 gcc-c++-4.8.5-36.el7_6.2.x86_64 需要
    --> 正在检查事务
    ---> 软件包 gcc.x86_64.0.4.8.5-36.el7_6.2 将被 安装
    --> 正在处理依赖关系 libgomp = 4.8.5-36.el7_6.2,它被软件包 gcc-4.8.5-36.el7_6.2.x86_64 需要
    --> 正在处理依赖关系 cpp = 4.8.5-36.el7_6.2,它被软件包 gcc-4.8.5-36.el7_6.2.x86_64 需要
    --> 正在处理依赖关系 libgcc >= 4.8.5-36.el7_6.2,它被软件包 gcc-4.8.5-36.el7_6.2.x86_64 需要
    --> 正在处理依赖关系 glibc-devel >= 2.2.90-12,它被软件包 gcc-4.8.5-36.el7_6.2.x86_64 需要
    ---> 软件包 libstdc++.x86_64.0.4.8.5-36.el7 将被 升级
    ---> 软件包 libstdc++.x86_64.0.4.8.5-36.el7_6.2 将被 更新
    ---> 软件包 libstdc++-devel.x86_64.0.4.8.5-36.el7_6.2 将被 安装
    --> 正在检查事务
    ---> 软件包 cpp.x86_64.0.4.8.5-36.el7_6.2 将被 安装
    ---> 软件包 glibc-devel.x86_64.0.2.17-260.el7_6.6 将被 安装
    --> 正在处理依赖关系 glibc-headers = 2.17-260.el7_6.6,它被软件包 glibc-devel-2.17-260.el7_6.6.x86_64 需要
    --> 正在处理依赖关系 glibc = 2.17-260.el7_6.6,它被软件包 glibc-devel-2.17-260.el7_6.6.x86_64 需要
    --> 正在处理依赖关系 glibc-headers,它被软件包 glibc-devel-2.17-260.el7_6.6.x86_64 需要
    ---> 软件包 libgcc.x86_64.0.4.8.5-36.el7 将被 升级
    ---> 软件包 libgcc.x86_64.0.4.8.5-36.el7_6.2 将被 更新
    ---> 软件包 libgomp.x86_64.0.4.8.5-36.el7 将被 升级
    ---> 软件包 libgomp.x86_64.0.4.8.5-36.el7_6.2 将被 更新
    --> 正在检查事务
    ---> 软件包 glibc.x86_64.0.2.17-260.el7 将被 升级
    --> 正在处理依赖关系 glibc = 2.17-260.el7,它被软件包 glibc-common-2.17-260.el7.x86_64 需要
    ---> 软件包 glibc.x86_64.0.2.17-260.el7_6.6 将被 更新
    ---> 软件包 glibc-headers.x86_64.0.2.17-260.el7_6.6 将被 安装
    --> 正在处理依赖关系 kernel-headers >= 2.2.1,它被软件包 glibc-headers-2.17-260.el7_6.6.x86_64 需要
    --> 正在处理依赖关系 kernel-headers,它被软件包 glibc-headers-2.17-260.el7_6.6.x86_64 需要
    --> 正在检查事务
    ---> 软件包 glibc-common.x86_64.0.2.17-260.el7 将被 升级
    ---> 软件包 glibc-common.x86_64.0.2.17-260.el7_6.6 将被 更新
    ---> 软件包 kernel-headers.x86_64.0.3.10.0-957.21.3.el7 将被 安装
    --> 解决依赖关系完成
    
    依赖关系解决
    
    =======================================================================================
     Package                架构          版本                        源              大小
    =======================================================================================
    正在安装:
     gcc-c++                x86_64        4.8.5-36.el7_6.2            updates        7.2 M
    为依赖而安装:
     cpp                    x86_64        4.8.5-36.el7_6.2            updates        5.9 M
     gcc                    x86_64        4.8.5-36.el7_6.2            updates         16 M
     glibc-devel            x86_64        2.17-260.el7_6.6            updates        1.1 M
     glibc-headers          x86_64        2.17-260.el7_6.6            updates        684 k
     kernel-headers         x86_64        3.10.0-957.21.3.el7         updates        8.0 M
     libstdc++-devel        x86_64        4.8.5-36.el7_6.2            updates        1.5 M
    为依赖而更新:
     glibc                  x86_64        2.17-260.el7_6.6            updates        3.7 M
     glibc-common           x86_64        2.17-260.el7_6.6            updates         12 M
     libgcc                 x86_64        4.8.5-36.el7_6.2            updates        102 k
     libgomp                x86_64        4.8.5-36.el7_6.2            updates        158 k
     libstdc++              x86_64        4.8.5-36.el7_6.2            updates        305 k
    
    事务概要
    =======================================================================================
    安装  1 软件包 (+6 依赖软件包)
    升级           ( 5 依赖软件包)
    
    总计:56 M
    总下载量:41 M
    Is this ok [y/d/N]: y
    Downloading packages:
    警告:/var/cache/yum/x86_64/7/updates/packages/cpp-4.8.5-36.el7_6.2.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
    cpp-4.8.5-36.el7_6.2.x86_64.rpm 的公钥尚未安装
    (1/7): cpp-4.8.5-36.el7_6.2.x86_64.rpm                          | 5.9 MB  00:00:04     
    (2/7): gcc-c++-4.8.5-36.el7_6.2.x86_64.rpm                      | 7.2 MB  00:00:02     
    (3/7): glibc-devel-2.17-260.el7_6.6.x86_64.rpm                  | 1.1 MB  00:00:00     
    (4/7): glibc-headers-2.17-260.el7_6.6.x86_64.rpm                | 684 kB  00:00:00     
    (5/7): gcc-4.8.5-36.el7_6.2.x86_64.rpm                          |  16 MB  00:00:08     
    (6/7): libstdc++-devel-4.8.5-36.el7_6.2.x86_64.rpm              | 1.5 MB  00:00:00     
    (7/7): kernel-headers-3.10.0-957.21.3.el7.x86_64.rpm            | 8.0 MB  00:00:02     
    ---------------------------------------------------------------------------------------
    总计                                                      4.0 MB/s |  41 MB  00:10     
    从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 检索密钥
    导入 GPG key 0xF4A80EB5:
     用户ID     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
     指纹       : 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
     软件包     : centos-release-7-6.1810.2.el7.centos.x86_64 (@anaconda)
     来自       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    是否继续?[y/N]:y
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      正在更新    : libgcc-4.8.5-36.el7_6.2.x86_64                                    1/17 
      正在更新    : glibc-common-2.17-260.el7_6.6.x86_64                              2/17 
      正在更新    : glibc-2.17-260.el7_6.6.x86_64                                     3/17 
      正在更新    : libstdc++-4.8.5-36.el7_6.2.x86_64                                 4/17 
      正在安装    : libstdc++-devel-4.8.5-36.el7_6.2.x86_64                           5/17 
      正在更新    : libgomp-4.8.5-36.el7_6.2.x86_64                                   6/17 
      正在安装    : cpp-4.8.5-36.el7_6.2.x86_64                                       7/17 
      正在安装    : kernel-headers-3.10.0-957.21.3.el7.x86_64                         8/17 
      正在安装    : glibc-headers-2.17-260.el7_6.6.x86_64                             9/17 
      正在安装    : glibc-devel-2.17-260.el7_6.6.x86_64                              10/17 
      正在安装    : gcc-4.8.5-36.el7_6.2.x86_64                                      11/17 
      正在安装    : gcc-c++-4.8.5-36.el7_6.2.x86_64                                  12/17 
      清理        : libstdc++-4.8.5-36.el7.x86_64                                    13/17 
      清理        : libgomp-4.8.5-36.el7.x86_64                                      14/17 
      清理        : glibc-common-2.17-260.el7.x86_64                                 15/17 
      清理        : glibc-2.17-260.el7.x86_64                                        16/17 
      清理        : libgcc-4.8.5-36.el7.x86_64                                       17/17 
      验证中      : glibc-devel-2.17-260.el7_6.6.x86_64                               1/17 
      验证中      : libstdc++-devel-4.8.5-36.el7_6.2.x86_64                           2/17 
      验证中      : gcc-c++-4.8.5-36.el7_6.2.x86_64                                   3/17 
      验证中      : kernel-headers-3.10.0-957.21.3.el7.x86_64                         4/17 
      验证中      : libgcc-4.8.5-36.el7_6.2.x86_64                                    5/17 
      验证中      : libgomp-4.8.5-36.el7_6.2.x86_64                                   6/17 
      验证中      : glibc-2.17-260.el7_6.6.x86_64                                     7/17 
      验证中      : cpp-4.8.5-36.el7_6.2.x86_64                                       8/17 
      验证中      : gcc-4.8.5-36.el7_6.2.x86_64                                       9/17 
      验证中      : glibc-headers-2.17-260.el7_6.6.x86_64                            10/17 
      验证中      : glibc-common-2.17-260.el7_6.6.x86_64                             11/17 
      验证中      : libstdc++-4.8.5-36.el7_6.2.x86_64                                12/17 
      验证中      : glibc-common-2.17-260.el7.x86_64                                 13/17 
      验证中      : libgomp-4.8.5-36.el7.x86_64                                      14/17 
      验证中      : glibc-2.17-260.el7.x86_64                                        15/17 
      验证中      : libgcc-4.8.5-36.el7.x86_64                                       16/17 
      验证中      : libstdc++-4.8.5-36.el7.x86_64                                    17/17 
    
    已安装:
      gcc-c++.x86_64 0:4.8.5-36.el7_6.2                                                    
    
    作为依赖被安装:
      cpp.x86_64 0:4.8.5-36.el7_6.2                                                        
      gcc.x86_64 0:4.8.5-36.el7_6.2                                                        
      glibc-devel.x86_64 0:2.17-260.el7_6.6                                                
      glibc-headers.x86_64 0:2.17-260.el7_6.6                                              
      kernel-headers.x86_64 0:3.10.0-957.21.3.el7                                          
      libstdc++-devel.x86_64 0:4.8.5-36.el7_6.2                                            
    
    作为依赖被升级:
      glibc.x86_64 0:2.17-260.el7_6.6          glibc-common.x86_64 0:2.17-260.el7_6.6     
      libgcc.x86_64 0:4.8.5-36.el7_6.2         libgomp.x86_64 0:4.8.5-36.el7_6.2          
      libstdc++.x86_64 0:4.8.5-36.el7_6.2     
    
    完毕!
    [root@Nigux ~]# yum install -y pcre pcre-devel
    已加载插件:fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
     * base: mirrors.163.com
     * extras: mirrors.163.com
     * updates: mirrors.163.com
    软件包 pcre-8.32-17.el7.x86_64 已安装并且是最新版本
    正在解决依赖关系
    --> 正在检查事务
    ---> 软件包 pcre-devel.x86_64.0.8.32-17.el7 将被 安装
    --> 解决依赖关系完成
    
    依赖关系解决
    
    =======================================================================================
     Package               架构              版本                    源               大小
    =======================================================================================
    正在安装:
     pcre-devel            x86_64            8.32-17.el7             base            480 k
    
    事务概要
    =======================================================================================
    安装  1 软件包
    
    总下载量:480 k
    安装大小:1.4 M
    Downloading packages:
    pcre-devel-8.32-17.el7.x86_64.rpm                               | 480 kB  00:00:06     
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      正在安装    : pcre-devel-8.32-17.el7.x86_64                                      1/1 
      验证中      : pcre-devel-8.32-17.el7.x86_64                                      1/1 
    
    已安装:
      pcre-devel.x86_64 0:8.32-17.el7                                                      
    
    完毕!
    [root@Nigux ~]# yum install -y zlib zlib-devel
    已加载插件:fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
     * base: mirrors.163.com
     * extras: mirrors.163.com
     * updates: mirrors.163.com
    软件包 zlib-1.2.7-18.el7.x86_64 已安装并且是最新版本
    正在解决依赖关系
    --> 正在检查事务
    ---> 软件包 zlib-devel.x86_64.0.1.2.7-18.el7 将被 安装
    --> 解决依赖关系完成
    
    依赖关系解决
    
    =======================================================================================
     Package               架构              版本                    源               大小
    =======================================================================================
    正在安装:
     zlib-devel            x86_64            1.2.7-18.el7            base             50 k
    
    事务概要
    =======================================================================================
    安装  1 软件包
    
    总下载量:50 k
    安装大小:132 k
    Downloading packages:
    zlib-devel-1.2.7-18.el7.x86_64.rpm                              |  50 kB  00:00:01     
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      正在安装    : zlib-devel-1.2.7-18.el7.x86_64                                     1/1 
      验证中      : zlib-devel-1.2.7-18.el7.x86_64                                     1/1 
    
    已安装:
      zlib-devel.x86_64 0:1.2.7-18.el7                                                     
    
    完毕!
    [root@Nigux ~]# yum install -y openssl openssl-devel
    已加载插件:fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
     * base: mirrors.163.com
     * extras: mirrors.163.com
     * updates: mirrors.163.com
    正在解决依赖关系
    --> 正在检查事务
    ---> 软件包 openssl.x86_64.1.1.0.2k-16.el7 将被 升级
    ---> 软件包 openssl.x86_64.1.1.0.2k-16.el7_6.1 将被 更新
    --> 正在处理依赖关系 openssl-libs(x86-64) = 1:1.0.2k-16.el7_6.1,它被软件包 1:openssl-1.0.2k-16.el7_6.1.x86_64 需要
    ---> 软件包 openssl-devel.x86_64.1.1.0.2k-16.el7_6.1 将被 安装
    --> 正在处理依赖关系 krb5-devel(x86-64),它被软件包 1:openssl-devel-1.0.2k-16.el7_6.1.x86_64 需要
    --> 正在检查事务
    ---> 软件包 krb5-devel.x86_64.0.1.15.1-37.el7_6 将被 安装
    --> 正在处理依赖关系 libkadm5(x86-64) = 1.15.1-37.el7_6,它被软件包 krb5-devel-1.15.1-37.el7_6.x86_64 需要
    --> 正在处理依赖关系 krb5-libs(x86-64) = 1.15.1-37.el7_6,它被软件包 krb5-devel-1.15.1-37.el7_6.x86_64 需要
    --> 正在处理依赖关系 libverto-devel,它被软件包 krb5-devel-1.15.1-37.el7_6.x86_64 需要
    --> 正在处理依赖关系 libselinux-devel,它被软件包 krb5-devel-1.15.1-37.el7_6.x86_64 需要
    --> 正在处理依赖关系 libcom_err-devel,它被软件包 krb5-devel-1.15.1-37.el7_6.x86_64 需要
    --> 正在处理依赖关系 keyutils-libs-devel,它被软件包 krb5-devel-1.15.1-37.el7_6.x86_64 需要
    ---> 软件包 openssl-libs.x86_64.1.1.0.2k-16.el7 将被 升级
    ---> 软件包 openssl-libs.x86_64.1.1.0.2k-16.el7_6.1 将被 更新
    --> 正在检查事务
    ---> 软件包 keyutils-libs-devel.x86_64.0.1.5.8-3.el7 将被 安装
    ---> 软件包 krb5-libs.x86_64.0.1.15.1-34.el7 将被 升级
    ---> 软件包 krb5-libs.x86_64.0.1.15.1-37.el7_6 将被 更新
    ---> 软件包 libcom_err-devel.x86_64.0.1.42.9-13.el7 将被 安装
    ---> 软件包 libkadm5.x86_64.0.1.15.1-37.el7_6 将被 安装
    ---> 软件包 libselinux-devel.x86_64.0.2.5-14.1.el7 将被 安装
    --> 正在处理依赖关系 libsepol-devel(x86-64) >= 2.5-10,它被软件包 libselinux-devel-2.5-14.1.el7.x86_64 需要
    --> 正在处理依赖关系 pkgconfig(libsepol),它被软件包 libselinux-devel-2.5-14.1.el7.x86_64 需要
    ---> 软件包 libverto-devel.x86_64.0.0.2.5-4.el7 将被 安装
    --> 正在检查事务
    ---> 软件包 libsepol-devel.x86_64.0.2.5-10.el7 将被 安装
    --> 解决依赖关系完成
    
    依赖关系解决
    
    =======================================================================================
     Package                   架构         版本                       源             大小
    =======================================================================================
    正在安装:
     openssl-devel             x86_64       1:1.0.2k-16.el7_6.1        updates       1.5 M
    正在更新:
     openssl                   x86_64       1:1.0.2k-16.el7_6.1        updates       493 k
    为依赖而安装:
     keyutils-libs-devel       x86_64       1.5.8-3.el7                base           37 k
     krb5-devel                x86_64       1.15.1-37.el7_6            updates       271 k
     libcom_err-devel          x86_64       1.42.9-13.el7              base           31 k
     libkadm5                  x86_64       1.15.1-37.el7_6            updates       178 k
     libselinux-devel          x86_64       2.5-14.1.el7               base          187 k
     libsepol-devel            x86_64       2.5-10.el7                 base           77 k
     libverto-devel            x86_64       0.2.5-4.el7                base           12 k
    为依赖而更新:
     krb5-libs                 x86_64       1.15.1-37.el7_6            updates       803 k
     openssl-libs              x86_64       1:1.0.2k-16.el7_6.1        updates       1.2 M
    
    事务概要
    =======================================================================================
    安装  1 软件包 (+7 依赖软件包)
    升级  1 软件包 (+2 依赖软件包)
    
    总计:4.7 M
    总下载量:2.3 M
    Downloading packages:
    (1/8): keyutils-libs-devel-1.5.8-3.el7.x86_64.rpm               |  37 kB  00:00:01     
    (2/8): libcom_err-devel-1.42.9-13.el7.x86_64.rpm                |  31 kB  00:00:01     
    (3/8): libsepol-devel-2.5-10.el7.x86_64.rpm                     |  77 kB  00:00:00     
    (4/8): libverto-devel-0.2.5-4.el7.x86_64.rpm                    |  12 kB  00:00:00     
    (5/8): libkadm5-1.15.1-37.el7_6.x86_64.rpm                      | 178 kB  00:00:01     
    (6/8): krb5-devel-1.15.1-37.el7_6.x86_64.rpm                    | 271 kB  00:00:01     
    (7/8): libselinux-devel-2.5-14.1.el7.x86_64.rpm                 | 187 kB  00:00:01     
    (8/8): openssl-devel-1.0.2k-16.el7_6.1.x86_64.rpm               | 1.5 MB  00:00:00     
    ---------------------------------------------------------------------------------------
    总计                                                      972 kB/s | 2.3 MB  00:02     
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      正在更新    : 1:openssl-libs-1.0.2k-16.el7_6.1.x86_64                           1/14 
      正在更新    : krb5-libs-1.15.1-37.el7_6.x86_64                                  2/14 
      正在安装    : libkadm5-1.15.1-37.el7_6.x86_64                                   3/14 
      正在安装    : libcom_err-devel-1.42.9-13.el7.x86_64                             4/14 
      正在安装    : libsepol-devel-2.5-10.el7.x86_64                                  5/14 
      正在安装    : libselinux-devel-2.5-14.1.el7.x86_64                              6/14 
      正在安装    : libverto-devel-0.2.5-4.el7.x86_64                                 7/14 
      正在安装    : keyutils-libs-devel-1.5.8-3.el7.x86_64                            8/14 
      正在安装    : krb5-devel-1.15.1-37.el7_6.x86_64                                 9/14 
      正在安装    : 1:openssl-devel-1.0.2k-16.el7_6.1.x86_64                         10/14 
      正在更新    : 1:openssl-1.0.2k-16.el7_6.1.x86_64                               11/14 
      清理        : 1:openssl-1.0.2k-16.el7.x86_64                                   12/14 
      清理        : krb5-libs-1.15.1-34.el7.x86_64                                   13/14 
      清理        : 1:openssl-libs-1.0.2k-16.el7.x86_64                              14/14 
      验证中      : 1:openssl-1.0.2k-16.el7_6.1.x86_64                                1/14 
      验证中      : keyutils-libs-devel-1.5.8-3.el7.x86_64                            2/14 
      验证中      : libverto-devel-0.2.5-4.el7.x86_64                                 3/14 
      验证中      : krb5-libs-1.15.1-37.el7_6.x86_64                                  4/14 
      验证中      : libkadm5-1.15.1-37.el7_6.x86_64                                   5/14 
      验证中      : krb5-devel-1.15.1-37.el7_6.x86_64                                 6/14 
      验证中      : libselinux-devel-2.5-14.1.el7.x86_64                              7/14 
      验证中      : 1:openssl-libs-1.0.2k-16.el7_6.1.x86_64                           8/14 
      验证中      : libsepol-devel-2.5-10.el7.x86_64                                  9/14 
      验证中      : libcom_err-devel-1.42.9-13.el7.x86_64                            10/14 
      验证中      : 1:openssl-devel-1.0.2k-16.el7_6.1.x86_64                         11/14 
      验证中      : 1:openssl-libs-1.0.2k-16.el7.x86_64                              12/14 
      验证中      : krb5-libs-1.15.1-34.el7.x86_64                                   13/14 
      验证中      : 1:openssl-1.0.2k-16.el7.x86_64                                   14/14 
    
    已安装:
      openssl-devel.x86_64 1:1.0.2k-16.el7_6.1                                             
    
    作为依赖被安装:
      keyutils-libs-devel.x86_64 0:1.5.8-3.el7     krb5-devel.x86_64 0:1.15.1-37.el7_6    
      libcom_err-devel.x86_64 0:1.42.9-13.el7      libkadm5.x86_64 0:1.15.1-37.el7_6      
      libselinux-devel.x86_64 0:2.5-14.1.el7       libsepol-devel.x86_64 0:2.5-10.el7     
      libverto-devel.x86_64 0:0.2.5-4.el7         
    
    更新完毕:
      openssl.x86_64 1:1.0.2k-16.el7_6.1                                                   
    
    作为依赖被升级:
      krb5-libs.x86_64 0:1.15.1-37.el7_6      openssl-libs.x86_64 1:1.0.2k-16.el7_6.1     
    
    完毕!
    
    编译安装

    首先清理一下原有虚拟机/usr/local/ 路径下的Nigix安装程序

    [root@Nigux ~]# rm -rf *
    [root@Nigux ~]# rm -rf /usr/local/nginx/
    [root@Nigux ~]# rm -rf /var/temp/
    
    

    将nginx-1.8.0.tar.gz拷贝至linux服务器。

    解压:
    tar -zxvf nginx-1.8.0.tar.gz
    cd nginx-1.8.0

    然后进入解压后的文件夹nginx-1.8.0
    ls

    [root@Nigux nginx-1.8.0]# ls
    auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src
    
    查看这些源码文件是否可执行

    命令:ll

    [root@Nigux nginx-1.8.0]# ll
    总用量 632
    drwxr-xr-x. 6 1001 1001   4096 7月  28 01:21 auto
    -rw-r--r--. 1 1001 1001 249124 4月  21 2015 CHANGES
    -rw-r--r--. 1 1001 1001 379021 4月  21 2015 CHANGES.ru
    drwxr-xr-x. 2 1001 1001    168 7月  28 01:21 conf
    -rwxr-xr-x. 1 1001 1001   2478 4月  21 2015 configure
    drwxr-xr-x. 4 1001 1001     72 7月  28 01:21 contrib
    drwxr-xr-x. 2 1001 1001     40 7月  28 01:21 html
    -rw-r--r--. 1 1001 1001   1397 4月  21 2015 LICENSE
    drwxr-xr-x. 2 1001 1001     21 7月  28 01:21 man
    -rw-r--r--. 1 1001 1001     49 4月  21 2015 README
    drwxr-xr-x. 8 1001 1001     77 7月  28 01:21 src
    

    如何看是否可以执行的文件

    解答:带X的

    image.png

    因为直接 输入 make 命令 会提示makefile文件找不到


    image.png

    那么 我们根据configure 生成 makefile文件

    输入

    ./configure \
    --prefix=/usr/local/nginx \
    --pid-path=/var/run/nginx/nginx.pid \
    --lock-path=/var/lock/nginx.lock \
    --error-log-path=/var/log/nginx/error.log \
    --http-log-path=/var/log/nginx/access.log \
    --with-http_gzip_static_module \
    --http-client-body-temp-path=/var/temp/nginx/client \
    --http-proxy-temp-path=/var/temp/nginx/proxy \
    --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
    --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
    --http-scgi-temp-path=/var/temp/nginx/scgi
    
    注意:上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录
    [root@Nigux nginx-1.8.0]# ll
    总用量 636
    drwxr-xr-x. 6 1001 1001   4096 7月  28 01:21 auto
    -rw-r--r--. 1 1001 1001 249124 4月  21 2015 CHANGES
    -rw-r--r--. 1 1001 1001 379021 4月  21 2015 CHANGES.ru
    drwxr-xr-x. 2 1001 1001    168 7月  28 01:21 conf
    -rwxr-xr-x. 1 1001 1001   2478 4月  21 2015 configure
    drwxr-xr-x. 4 1001 1001     72 7月  28 01:21 contrib
    drwxr-xr-x. 2 1001 1001     40 7月  28 01:21 html
    -rw-r--r--. 1 1001 1001   1397 4月  21 2015 LICENSE
    -rw-r--r--. 1 root root    345 7月  28 01:33 Makefile
    drwxr-xr-x. 2 1001 1001     21 7月  28 01:21 man
    drwxr-xr-x. 3 root root    125 7月  28 01:33 objs
    -rw-r--r--. 1 1001 1001     49 4月  21 2015 README
    drwxr-xr-x. 8 1001 1001     77 7月  28 01:21 src
    

    然后输入命令: make

    安装make

    make install

    然后查看一下 Nginx 安装的路径 是不是在/usr/local/ 看看有没有nginx

    [root@Nigux nginx-1.8.0]# cd /usr/local/
    [root@Nigux local]# ll
    总用量 0
    drwxr-xr-x. 2 root root  6 4月  11 2018 bin
    drwxr-xr-x. 2 root root  6 4月  11 2018 etc
    drwxr-xr-x. 2 root root  6 4月  11 2018 games
    drwxr-xr-x. 2 root root  6 4月  11 2018 include
    drwxr-xr-x. 2 root root  6 4月  11 2018 lib
    drwxr-xr-x. 2 root root  6 4月  11 2018 lib64
    drwxr-xr-x. 2 root root  6 4月  11 2018 libexec
    drwxr-xr-x. 5 root root 42 7月  28 01:39 nginx
    drwxr-xr-x. 2 root root  6 4月  11 2018 sbin
    drwxr-xr-x. 5 root root 49 7月  27 08:28 share
    drwxr-xr-x. 2 root root  6 4月  11 2018 src
    
    
    进入nginx 文件夹 中的 sbin
    
    [root@Nigux local]# cd nginx
    [root@Nigux nginx]# ls
    conf  html  sbin
    [root@Nigux nginx]# cd sbin
    
    

    运行 Ngnix
    ./nginx

    出现上面提到的错误 没有temp 目录

    nginx: [emerg] mkdir() "/var/temp/nginx/client" failed (2: No such file or directory)
    
    

    解决

    创建temp目录

    命令

    mkdir  /var/temp/nginx
    
    

    有提示错误 应该一层一层创建

    [root@Nigux sbin]# mkdir  /var/temp/nginx
    mkdir: 无法创建目录"/var/temp/nginx": 没有那个文件或目录
    
    

    解决

     mkdir  /var/temp/nginx -p
    

    重新启动Nginx

    ./nginx 
    
    查询nginx进程:
    image.png

    15098是nginx主进程的进程id,15099是nginx工作进程的进程id

    注意:执行./nginx****启动nginx****,这里可以-c****指定加载的nginx****配置文件,如下:

    ./nginx -c /usr/local/nginx/conf/nginx.conf

    如果不指定-c****,nginx****在启动时默认加载conf/nginx.conf****文件,此文件的地址也可以在编译安装nginx****时指定./configure****的参数(--conf-path= 指向配置文件(nginx.conf****))

    [root@Nigux sbin]# ./nginx
    [root@Nigux sbin]# ps aux|grep
    用法: grep [选项]... PATTERN [FILE]...
    试用‘grep --help’来获得更多信息。
    [root@Nigux sbin]# ps aux|grep nginx
    root      12518  0.0  0.0  24884   772 ?        Ss   02:01   0:00 nginx: master process ./nginx
    nobody    12520  0.0  0.1  27396  1532 ?        S    02:01   0:00 nginx: worker process
    root      12616  0.0  0.0 112724   992 pts/0    R+   02:04   0:00 grep --color=auto nginx
    [root@Nigux sbin]# 
    

    游览器:http://192.168.191.129/

    image.png
    停止nginx

    方式1,快速停止:
    cd /usr/local/nginx/sbin
    ./nginx -s stop
    此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。

    方式2,完整停止(建议使用):
    cd /usr/local/nginx/sbin
    ./nginx -s quit
    此方式停止步骤是待nginx进程处理任务完毕进行停止。

    重启nginx

    方式1,先停止再启动(建议使用):
    对nginx进行重启相当于先停止nginx再启动nginx,即先执行停止命令再执行启动命令。
    如下:
    ./nginx -s quit
    ./nginx

    方式2,重新加载配置文件:在不关机的状态,修改配置文件
    当nginx的配置文件nginx.conf修改后,要想让配置生效需要重启nginx,使用-s reload不用先停止nginx再启动nginx即可将配置信息在nginx中生效,如下:
    ./nginx -s reload

    相关文章

      网友评论

        本文标题:Nginx安装详细流程

        本文链接:https://www.haomeiwen.com/subject/eeayrctx.html