zoukankan      html  css  js  c++  java
  • 用于升级nginx

    用于升级nginx
    升级步骤:
    备服:此方法仅限于无用户使用时,停机操作
    1.下载最新版本nginx
    2.解压到对应地址
    3.编译+make(不要make install)
    4.备份老的nginx二进制文件
    5.将新的二进制文件拷贝到老的nginx目录xia
    6.重启nginx
     
    涉及到的变量:
    1.最新nginx下载地址
    2.下载路径(nginx_path=/usr/local/)
    3.解压路径(2.3用一个路径)
    4.编译,make路径(下载路径+nginx目录)
    5.老的nginx二进制文件路径(下载路径+nginx+sbin)
    6.新的nginx二进制文件路径(编译路径+objs)
     
    脚本:
    #!/bin/bash
    #用法:"./update_nginx.sh  最新nginx的官网url链接"
    #说明:下载nginx原文件,编译后把新的二进制nginx文件拷贝到老的目录下,拷贝前备份,用于升级nginx,之后可以直接重启升级,也可以采用平滑模式升级
    nginx_url=$1
    nginx_path='/usr/local/'
    file_name=`echo $nginx_url|awk -F/ '{print$5}'|awk -F".t"  '{print$1}'`
    #获取编译模块的参数
    nginx -V &>$nginx_path/temp
    arguments=`cat $nginx_path/temp|awk -F"arguments:" '{print$2}'|grep -v ^$`
    #arguments="--prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module"
    #官网下载对应软件包,有就跳过
    [ -f ${nginx_path}${file_name}.tar.gz ] || `which wget` $nginx_url -P $nginx_path
    #解压软件包
    `which tar`  zxf ${nginx_path}${file_name}.tar.gz -C $nginx_path
    #编译+make(不要make install)
    cd ${nginx_path}${file_name}/
    ./configure  $arguments
    make
    #备份原始二进制nginx
    cd  ${nginx_path}nginx/sbin/
    mv nginx   nginx$(date +%Y%m%d)
    #拷贝新的二进制nginx到对应目录
    cp ${nginx_path}${file_name}/objs/nginx   ${nginx_path}nginx/sbin/
     
     
  • 相关阅读:
    Typora Writings
    Xcode7.3 beta 新功能
    最美应用API接口分析
    'Project Name' was compiled with optimization
    web前端开发与iOS终端开发的异同[转]
    2015-12-19_16_30_15
    Xcode搭建Python编译环境
    jsPach.qq.com
    Q&AApple’s Craig Federighi talks open source Swift, Objective-C and the next 20 years of development
    .NET Core项目与传统vs项目的细微不同
  • 原文地址:https://www.cnblogs.com/szy2018/p/13830388.html
Copyright © 2011-2022 走看看