微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

nginx安装脚本

 

案例需求

通过shell脚本安装Nginx

应用场景

web服务器业务初始化

案例思路

1、软件获得
2、源码安装

案例代码

[root@CentOs shell]# cat Nginx_install.sh

#!/bin/bash


#安装用户    root
#安装前准备 依赖包 源码包获得
#安装
#启动 测试



#variables(变量)

Nginx_pkg="Nginx-1.20.2.tar.gz"
Nginx_source_doc=`echo $Nginx_pkg|cut -d "." -f1-3`
Nginx_install_doc="/usr/local/Nginx"
Nginx_user="www"
Nginx_group="www"


#function
check(){
     
     #检测当前用户 要求为root
     if [ "$USER" != 'root'  ];then
    echo "Need to be root so that"
    exit 1
     fi

    #检查wget命令

    #    if [ ! -x /usr/bin/wget ];then
    #        echo "not fount command /usr/bin/wget"
    #       exit 1
    #     fi
    # "&&" == then  "||" == else

             [ ! -x /usr/bin/wget ]&& echo "not fount command /usr/bin/wget" && exit 1

}


install_pre(){

         #1、安装依赖
               #1 :stdout(标准输入)
               #2:stderr(错误输出)
      if ! ( yum -y install gcc-* pcre-devel zlib-devel elinks 1>/dev/null);then
    echo "ERROR:yum install error"
    exit 1
      fi

         #2、下载源码包
      if wget http://Nginx.org/download/$Nginx_pkg  &>/dev/null;then
    tar -zxvf $Nginx_pkg
    if [ ! -d $Nginx_source_doc ];then
       echo "ERROR:not found $Nginx_source_doc"
       exit 1
    fi
      else
       echo "ERROR:download file $Nginx_pkg fail"
       exit 1
      fi
}


install(){
      # 1、创建管理用户
    useradd -r -s /sbin/nologin www
    
      # 2、安装Nginx源码
      cd $Nginx_source_doc
      echo "Nginx configure..."
      if  ./configure --prefix=$Nginx_install_doc --user=$Nginx_user --group=$Nginx_group 1>/dev/null;then
    echo "Nginx make..."
    if  make 1>/dev/null;then
        echo "Nginx make install..."
         if make install 1>/dev/null;then
            echo "Nginx install success!"
         else
        echo "Nginx install fail"
        exit 1
         fi
    else
        echo "ERROR:Nginx make fail"
        exit 1
        fi
      else
    echo "ERROR:Nginx configure fail"
    exit 1
      fi
}



Nginx_test () {

     if $Nginx_install_doc/sbin/Nginx;then
    echo "Nginx start success!"
    elinks http://localhost -dump
     else
    echo "Nginx stop fail!"
     fi

}




# callable(调用)

echo "this is Nginx install script!"
read -p "press Y install,press C cancel:" ch(如果机器自动化安装脚本,这个交互我们就没有必要写了!)
if [ $ch == 'Y' ];then
   check;install_pre;install;Nginx_test
elif [ $ch == 'C' ];then
   exit 1
fi


[root@CentOs shell]#

 

 

 

 

演示效果

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐