zoukankan      html  css  js  c++  java
  • 编写一键部署软件脚本

                                                           编写一键部署软件脚本

    案例1:编写一键部署软件脚本

    案例2:启动脚本

    案例3:编写监控脚本

    案例4:编写安全检测脚本

    案例5:编写进度显示脚本

    1案例1:编写一键部署软件脚本

    1.1问题

    本案例要求编写脚本实现一键部署Nginx软件(Web服务器):

    一键源码安装Nginx软件

    脚本自动安装相关软件的依赖包

    脚本自动判断yum是否可用

    1.2步骤

    实现此案例需要按照如下步骤进行。

    步骤一:准备工作

    1)判断yum源是否可用

    通过yum repolist查看软件包数量是否大于0

    [root@svr5~]#yum repolist

    [root@svr5~]#yum repolist B | awk '/repolist/{print$2}'

    [root@svr5~]#yum repolist | awk '/repolist/{print$2}' | sed 's/,//'

    [root@svr5~]#N=$(yum repolist | awk '/repolist/{print$2}' | sed 's/,//')

    [root@svr5~]#[ $N -le 0 ] && echo 'yum不可用'

    2)依赖包

    源码安装Nginx需要提前安装依赖包软件gcc,openssl-devel,pcre-devel

    步骤二:编写脚本

    1)参考脚本内容如下:

    [root@svr5~]#vim test.sh

    #!/bin/bash

    N=$(yum repolist | awk '/repolist/{print$2}' | sed 's/,//')

    If [ $N -le 0 ];then

    echo"yum不可用"

    exit

    fi

    yum -y install gcc openssl-devel pcre-devel

    tar -xf nginx-1.12.2.tar.gz

    cd nginx-1.12.2

    ./configure

    make

    make install

    2)确认安装效果

    Nginx默认安装路径为/usr/local/nginx,该目录下会提供4个子目录,分别如下:

    /usr/local/nginx/conf配置文件目录

    /usr/local/nginx/html网站页面目录

    /usr/local/nginx/logs Nginx日志目录

    /usr/local/nginx/sbin主程序目录

    主程序命令参数:

    [root@svr5~]#/usr/local/nginx/sbin/nginx //启动服务

    [root@svr5~]#/usr/local/nginx/sbin/nginx-s stop //关闭服务

    [root@svr5~]#/usr/local/nginx/sbin/nginx -V //查看软件信息


     案例2:启动脚本

    2.1问题

    本案例要求编写Ngin启动脚本,要求如下:

    脚本支持startstoprestartstatus

    脚本支持报错提示

    脚本具有判断是否已经开启或关闭的功能

    2.2步骤

    实现此案例需要按照如下步骤进行。

    步骤一:编写脚本

    脚本通过位置变量$1读取用户的操作指令,判断是startstoprestart还是status

    1)参考脚本内容如下:

    [root@svr5~]#vim test.sh

    #!/bin/bash

    case  $1 in

    start)

    /usr/local/nginx/sbin/nginx;;

    stop)

    /usr/local/nginx/sbin/nginx -s stop;;

    restart)

    /usr/local/nginx/sbin/nginx -s stop

    /usr/local/nignx/sbin/nginx;;

    status)

    netstat -ntulp | grep -q nginx

    If [$? -eq 0];then

    echo服务以启动

    else

    echo服务未启动

    fi;;

    *)

    echo Error;;

    esac

    2)执行测试脚本:

    [root@svr5~]#./test.sh start

    [root@svr5~]#./test.sh stop

    [root@svr5~]#./test.sh status

    [root@svr5~]#./test.sh xyz

  • 相关阅读:
    Leetcode 58. 最后一个单词的长度 双指针
    Leetcode 125. 验证回文串 双指针
    拜托,大厂做项目可不简单!
    被问懵了:一个进程最多可以创建多少个线程?
    面对祖传屎山代码应该采用的5个正确姿势
    VUE代码格式化配置vetur、eslint、prettier的故事
    如何快速实现一个虚拟 DOM 系统
    NodeJS 进程是如何退出的
    [堆][启发式合并]luogu P3261 [JLOI2015]城池攻占
    [Trie][堆]luogu P5283 [十二省联考2019]异或粽子
  • 原文地址:https://www.cnblogs.com/qingbai/p/11941112.html
Copyright © 2011-2022 走看看