| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
dfag
9年前发布

nginx安装脚本

#!/bin/bash  # this shell will be installed jdk*.tar.gz  #author: wangjiulong    #ROOT=$(pwd)  #SCRIPTS=$ROOT/scripts  #PKGS=$ROOT/pkgs  #NGINX_ROOT=/usr/local/nginx  #服务器如果已经安装了nginx,那么就不重新安装;没有,就安装.    nginx_path=/usr/local/nginx    #检查要安装的nginx版本,记录保存  nginx_pkg=`cat $tmp_nginx_pkgtar`  cat $tmp_nginx_pkgtar | awk -F.tar.gz '{print $1}' | awk -F- '{print $2}' > $tmp_nginx_pkgtar_version 2>&1  nginx_tar=`cat $tmp_nginx_pkgtar | awk -F.tar.gz '{print $1}'`  nginx_tar_version=`cat $tmp_nginx_pkgtar_version`    #检查本机中的nginx版本,记录保存  nginx_local=$nginx_path/sbin/nginx -v > $tmp_nginx_local  2>&1  cat $tmp_nginx_local | awk -F[\/] '{print $2}' > $tmp_nginx_local_version 2>&1  nginx_local_version=`cat $tmp_nginx_local_version`    datef() {          date "+%Y/%m/%d %H:%M";  }    #custom log  print_log(){          if [[ -d $log_dir  ]];then                  echo "[$(datef)]  $1" >> $log          else                  echo "[$(datef)] log path does not exist,created first" >>$log                  mkdir -p $log_dir                  echo "[$(datef)]  $1" >> $log          fi  }      #检查nginx是否安装    #Check whether the installation nginx  check_nginx(){            diff_value=`diff $tmp_nginx_local_version $tmp_nginx_pkgtar_version ;echo $?`          nginx_value=`ls $nginx_path > /dev/null 2>&1 ;echo $?`            case $nginx_value in                  0)                  case $diff_value in                          0)                                  print_log "本机已经安装了nginx,nginx的版本是$nginx_local_version,程序即将退出。"                                  exit                          ;;                          1)                                  print_log "本机已经安装了nginx,但与要安装的nginx的版本不一致。"                                  exit                          ;;                          *)                                  print_log "程序存在异常,即将退出。异常可能是因为不存在文件/目录导致的,请检查!!!"                          ;;                    esac                          print_log "本机已经安装了nginx,nginx的版本是$nginx_local_version,程序即将退出。"                          exit                  ;;                  *)                          print_log "本机不存在nginx目录,程序即将安装nginx,nginx版本是$nginx_tar_version"                          install_nginx                  ;;          esac  }      #install nginx  install_nginx(){            cd $tar_dir          tar -zxf $nginx_pkg          cd $nginx_tar          ./configure --prefix=/usr/local/nginx --with-http_ssl_module  --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --with-pcre --without-select_module --without-poll_module && make && make install              if [[ $? != "0" ]];then                  print_log "[$(datef)] install_nginx(): install error!"                  exit          fi            cp -fv $file_dir/nginx /etc/init.d/nginx          cp -fv $file_dir/nginx.conf $nginx_path/conf/          chkconfig --add nginx            add_user          #Test config file exits  }    add_user(){          print_log "**************************begin change www user mode* ****************** "          if ! grep "^www" /etc/passwd          then                  groupadd www                  useradd -g www -d /data/www www          fi          print_log "*************************end changed *********************************** "          finished  }    finished(){          #install complete          print_log "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++"          print_log "+ [$(datef)] congratulagions!++++++++++++++++++++++++++++"          print_log "+ [$(datef)] don't forget to modify configuration files++"          print_log "+ [$(datef)] based on your system resources like mem size"          print_log "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++"  }    print_log "执行check_nginx函数,开始准备安装nginx"  check_nginx

哎、、、nginx的脚本,我个人觉得写的不是很好。逻辑上不是很顺。只有待后面再重新改过了。