↵
配置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"