shell06(nginx服务,case分支)

  ↵

配置nginx服务,nginx与httpd一样也是网站服务,但安装和使用方式有所不同,编写脚本,安装nginx

[root@svr7 ~]# tar -xf lnmp_soft.tar.gz    #释放软件包

[root@svr7 ~]# cp lnmp_soft/nginx-1.17.6.tar.gz  /opt   #拷贝nginx到opt下

[root@svr7 ~]#  cd  /opt

                      vim  test03.sh

#!/bin/bash

yum -y install gcc make pcre-devel openssl-devel  #安装依赖

tar -xf nginx-1.17.6.tar.gz   #释放nginx的tar包

cd nginx-1.17.6   #进入nginx目录

./configure  #配置

make   #编译

make install    #安装

[root@svr7 ~]#  ls  /usr/local/nginx    #脚本执行完毕后查看

[root@svr7 ~]#  systemctl stop httpd  #关闭之前网站服务

[root@svr7 opt]# /usr/local/nginx/sbin/nginx   #开启nginx

[root@svr7 opt]# systemctl stop firewalld   #关闭防火墙

        使用浏览器访问虚拟机地址,比如http://192.168.4.7看到欢迎字样即可

使用case分支编写脚本,用来控制nginx服务

#!/bin/bash

case $1 in    #使用执行脚本后的第1个位置变量作为匹配对象

start|kai|k)    #如果$1是start|kai|k中的任意一个就执行下面命令

    /usr/local/nginx/sbin/nginx;;       #开服务

stop|guan)  #如果$1是stop|guan中的任意一个就执行下面命令

    /usr/local/nginx/sbin/nginx -s stop;;   #关服务

restart|cq)  #如果$1是restart|cq中的任意一个就执行下面命令

    /usr/local/nginx/sbin/nginx -s stop     #先关闭

/usr/local/nginx/sbin/nginx;;      #再开启,相当于重启服务

cha|status)

    netstat -ntulp | grep -q nginx

    [ $? -eq 0 ] && echo "nginx正在运行。。。"  || echo "nginx未开启。。。";;

*)

    echo "请输入start|stop|restart"

esac

netstat 命令可以查询系统启动的端口信息

-n以数字格式显示端口号

-t显示TCP连接的端口

-u显示UDP连接的端口

-l显示服务正在监听的端口信息,如httpd启动后,会一直监听80端口

-p显示监听端口的服务名称是什么(也就是程序名称)

 

echo -e "\033[32mABCD\033[0m"    # 输出不同颜色的字体

函数,使用一个函数名称存储公共的语句块,实现精简脚本方便后期调用的效果

[root@svr7 ~]#  a(){  #定义函数,函数名是a

                          echo abc     #大括号里面是函数a的所有任务

                          echo xyz

                               }

 

[root@svr7 ~]#  a   #调用函数

再次将之前脚本改良,加入可以定义颜色的函数,然后下方调用并且加入判断效果,如果服务已经开启不会报错

#!/bin/bash

c(){          #定义函数名字叫c,可以用来输出不同颜色的内容

echo -e "\033[$1m$2\033[0m"

}

case $1 in

start|kai|k)

    netstat -ntulp | grep -q nginx    #检测nginx是否开启

    [ $? -eq 0 ] && c 32 "nginx已开启" && exit   #如果开启就喊出提示并推出

    /usr/local/nginx/sbin/nginx;;                   #如果没开启就正常执行开启任务

stop|guan)

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

restart|cq)

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

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

cha|status)

    netstat -ntulp | grep -q nginx

    [ $? -eq 0 ] && c 32 "nginx正在运行。。。"  || c 31 "nginx未开启。。。";;

*)

    echo "请输入start|stop|restart"

esac

exit    #可以终止循环,但同时也终止脚本

break  #可以终止循环,继续执行循环之后的任务

continue  #终止当前循环,继续下一次循环

编写脚本,可以帮助用户进行整数求和,如果用户输入数字为0时,终止求和并输出之前的结果

#!/bin/bash

x=0

while :

do

read -p "请输入一个整数求和(0是结束并输出结果)" n

[ -z $n ] && continue

[ $n -eq 0 ] && echo "结果为$x" && exit

let x+=n

done

 

 

#!/bin/bash

x=0

while :   #while循环后面写冒号代表永远正确可以无效循环

do

read -p "请输入一个整数求和(0是结束并输出结果)" n

[ -z $n ] && continue    #如果n是空值则重新进行循环任务

[ $n -eq 0 ] && break   #如果n是0则退出循环执行循环后任务

let x+=n           #不断的将n的值保存在x里

done

echo "结果为$x"

 

 

 

上一篇:mysql-如何完全删除主从同步


下一篇:linux关闭防火墙