ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

nginx安装脚本

2022-04-27 13:01:18  阅读:131  来源: 互联网

标签:脚本 doc echo nginx exit install fi 安装


 

案例需求

通过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]#

 

 

 

 

演示效果

 

 

 

 

 

标签:脚本,doc,echo,nginx,exit,install,fi,安装
来源: https://www.cnblogs.com/zypdbk/p/16197190.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有