Bootstrap

SHELL作业

要求:

通过shell脚本分析部署nginx网络服务
1.接收用户部署的服务名称
2.判断服务是否安装
​ 已安装;自定义网站配置路径为/www;并创建共享目录和网页文件;重启服务
​ 没有安装;安装对应的软件包
3.测试
判断服务是否成功运行;
​ 已运行,访问网站
​ 未运行,提示服务未启动,并显示自定义的配置文件内容
4.以上配置没有问题,发送邮件

配置:

关闭防火墙

systemctl stop firewalld

setenforce 0

接收用户部署的服务名称

read -p "输入服务名:" service_name

判断服务是否安装

if which nginx &>/dev/null; then
        echo "nginx已安装."
else
        echo "nginx未安装 开始安装."
        mount /dev/sr0 /mnt
        dnf install nginx -y
fi

自定义网站配置路径为/www 并创建共享目录和网页文件 重启nginx

if which nginx &>/dev/null; then
        web_path="/www"
        mkdir -p $web_path
        nginx_config="/etc/nginx/conf.d/test.conf"
        cat > $nginx_config << EOF
        server {
                listen 80;
                root $web_path;
        }
EOF
        touch $web_path/index.html
        echo "test" > $web_path/index.html
        systemctl restart nginx
fi

创建共享目录 (rpm检查nfs安装情况)并重启nfs

if rpm -q nfs-utils &>/dev/null; then
        nfs_path="/pub"
        mkdir -p $nfs_path
        touch $nfs_path/{1..10}
        chmod o+w $nfs_path
        echo " $nfs_path *(rw) " >> /etc/exports
        systemctl restart nfs-server
fi

发邮件(s-nail)


if [[ $? -eq 0 ]]; then
        echo "服务成功运行."
        echo "发送邮件..."
        echo "test" | s-nail -s "nginx作业 psc" -a "$0" [email protected]
else
        echo "服务运行失败."
fi

完整代码

测试:

访问网站

给自己163邮箱发送测试

;