• centos7.7离线安装nginx


    一、1、安装openssl,因为编译安装nginx需要指定openssl目录

    mkdir /data/openssl -p
    cd /data/openssl 
    wget https://www.openssl.org/source/openssl-1.1.1d.tar.gz
    

     2、解压并编译安装openssl

    tar xf openssl-1.1.1d.tar.gz
    cd openssl-1.1.1d
    ./config --prefix=/usr/local/openssl --openssldir=/usr/local/ssl
    make -j 2
    make install
    

     3、导出库文件

    echo  /usr/local/openssl/lib >> /etc/ld.so.conf.d/openssl.conf
    ldconfig
    检测版本信息
    /usr/local/openssl/bin/openssl  version -a
    OpenSSL 1.1.1d  10 Sep 2019
    built on: Mon Dec  9 08:39:59 2019 UTC
    platform: linux-x86_64
    options:  bn(64,64) rc4(16x,int) des(int) idea(int) blowfish(ptr) 
    compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG
    OPENSSLDIR: "/usr/local/ssl"
    ENGINESDIR: "/usr/local/openssl/lib/engines-1.1"
    Seeding source: os-specific
    

     4、导出openssl/bin 到PATH 变量

    echo 'PATH=/usr/local/openssl/bin:$PATH' >> /etc/profile.d/env.sh 
    source /etc/profile.d/env.sh 
    openssl  version
    OpenSSL 1.1.1d  10 Sep 2019
    

    5、安装nginx所需的依赖

    yum -y install gcc gcc-c++
    yum -y install zlib zlib-devel openssl openssl-devel pcre-devel
    gzip    模块需要 zlib 库
    rewrite 模块需要 pcre 库
    ssl     功能需要openssl库
    

     6、下载nginx安装包

    wget http://nginx.org/download/nginx-1.16.1.tar.gz
    tar xf nginx-1.16.1.tar.gz
    cd nginx-1.16.1
    

    7、添加nginx组,用户

    groupadd nginx
    useradd nginx -g nginx -s /sbin/nologin -M
    

    8、先修改nginx源码包以下文件,否则在执行初始化配置时会提示“.openssl”相关错误

    vim /data/nginx-1.16.1/auto/lib/openssl/conf
    删除/.openssl
                CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include"
                CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h"
                CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a"
                CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"
    
    更改为以下内容:
    
                CORE_INCS="$CORE_INCS $OPENSSL/include"
                CORE_DEPS="$CORE_DEPS $OPENSSL/include/openssl/ssl.h"
                CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libssl.a"
                CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libcrypto.a"
    

    9、 初始化配置信息

    ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-stream --with-http_realip_module --with-http_gzip_static_module --with-openssl=/usr/local/openssl
    

    10、查看是否配置成功($? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误)

     echo $?
    0
    

    11、编译安装

    make && make install
    echo $?
    

     12、查看nginx版本号

    /usr/local/nginx/sbin/nginx -v
    nginx version: nginx/1.16.1
    

     13、检查配置文件语法是否正确

    /usr/local/nginx/sbin/nginx -t
    nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
    nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
    

     14、启动nginx

    /usr/local/nginx/sbin/nginx
    /usr/local/nginx/sbin/nginx -s reload                 重新载入配置文件
    /usr/local/nginx/sbin/nginx -s stop                   快速关闭 Nginx
    /usr/local/nginx/sbin/nginx -s quit                   关闭Nginx
    

     15、编写启动脚本,方便开机自启

    vim  /usr/lib/systemd/system/nginx.service
    [Unit]
    Description=nginx
    After=network.target remote-fs.target nss-lookup.target
     
    [Service]
    Type=forking
    PIDFile=/usr/local/nginx/logs/nginx.pid
    ExecStartPost=/bin/sleep 0.1
    ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
    ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    ExecReload=/bin/kill -s HUP $MAINPID
    ExecStop=/bin/kill -s QUIT $MAINPID
    PrivateTmp=true
     
    [Install]
    WantedBy=multi-user.target
    

    使用:

    systemctl start|stop|reload|restart|status nginx.service
    开机自启:
    systemctl enable nginx.service
    关闭开机自启:
    systemctl disable nginx.service
    

      

    openssl安装参考:https://blog.51cto.com/1012682/2380553?source=dra

    nginx安装参考:https://blog.csdn.net/yuanfangPOET/article/details/90045001

  • 相关阅读:
    树莓派4B
    SpringBoot 自定义 info Actuator 原理
    RestTemplate翻译serviceId过程
    ISA, ABI, API区别
    01.编译器结构
    【Git123】Git SSH Key支持多账号
    【消息中间件123】Solace PubSub+ Event Broker介绍
    【ETL123】
    【Http123】Http Timeout
    【性能123】Linux性能之“平均负载”
  • 原文地址:https://www.cnblogs.com/caidingyu/p/12012765.html
Copyright © 2020-2023  润新知