通过shell脚本分析部署nginx网络服务

1.接收用户部署的服务名称

read -p "请输入要部署的服务器名称:" service_name



2.判断服务是否安装

​ 已安装;自定义网站配置路径为/www;并创建共享目录和网页文件;重启服务

​ 没有安装;安装对应的软件包
 

if command -v $service_name &>/dev/null; then
        echo "$service_name 已安装"
        web_path="/www"
        mkdir -p $web_path
        sub_config_file=" /etc/nginx/conf.d/new_domain.conf"
        cat > $sub_config_file <<EOF
        server {
                listen  80;
                root $web_path;
                }
EOF
        touch $web_path/index.html
        echo "这是一个测试内容" > $web_path/index.html
        systemctl restart $service_name
        echo "$service_name 服务已重启"
else
        echo "$service_name 未安装,现在开始安装"
        mount /dev/sr0 /mnt
        dnf install -y $service_name
                if [ $? -eq 0 ];then
                        echo "$service_name 完成安装"
                        web_path="/www"
                        mkdir -p $web_path
                        sub_config_file=" /etc/nginx/conf.d/new_domain.conf"
        cat > $sub_config_file <<EOF
        server {
                listen  80;
                root $web_path;
                }
EOF
        touch $web_path/index.html
        echo "这是一个测试内容" > $web_path/index.html
        systemctl restart $service_name
        echo "$service_name 服务已重启"
                else
                        echo "$service_name 安装失败,请检查错误"
                        exit 1
                fi
fi

3.测试

判断服务是否成功运行;

​ 已运行,访问网站

​ 未运行,提示服务未启动,并显示自定义的配置文件内容
 

if rpm -q nfs-utils &>/dev/null;then
        echo "nfs已安装"
else
        echo "nfs未安装,现在开始安装"
        mount /dev/sr0 /mnt
        dnf install nfs-utils -y
fi


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

if systemctl is-active nginx &> /dev/null;then
        echo "$service_name服务已运行,可通过浏览器访问网站。"
        curl www.nginx.com
else
        echo "$service_name服务未启动。"
        echo "以下为配置信息:"
        cat $web_path/index.html
fi

4.以上配置没有问题,请邮件告知我,并将脚本代码(代码文件)邮件发送我

我的邮箱账号:lxx1065372838@163.com

echo "脚本代码在附件" | s-nail -s  "分析部署nginx网络服务的脚本代码" -a "$0"  lxx1065372838@163.com

完整代码:

#!/bin/bash
read -p "请输入要部署的服务器名称:" service_name
if command -v $service_name &>/dev/null; then
        echo "$service_name 已安装"
        web_path="/www"
        mkdir -p $web_path
        sub_config_file=" /etc/nginx/conf.d/new_domain.conf"
        cat > $sub_config_file <<EOF
        server {
                listen  80;
                root $web_path;
                }
EOF
        touch $web_path/index.html
        echo "这是一个测试内容" > $web_path/index.html
        systemctl restart $service_name
        echo "$service_name 服务已重启"
else
        echo "$service_name 未安装,现在开始安装"
        mount /dev/sr0 /mnt
        dnf install -y $service_name
                if [ $? -eq 0 ];then
                        echo "$service_name 完成安装"
                        web_path="/www"
                        mkdir -p $web_path
                        sub_config_file=" /etc/nginx/conf.d/new_domain.conf"
        cat > $sub_config_file <<EOF
        server {
                listen  80;
                root $web_path;
                }
EOF
        touch $web_path/index.html
        echo "这是一个测试内容" > $web_path/index.html
        systemctl restart $service_name
        echo "$service_name 服务已重启"
                else
                        echo "$service_name 安装失败,请检查错误"
                        exit 1
                fi
fi

if rpm -q nfs-utils &>/dev/null;then
        echo "nfs已安装"
else
        echo "nfs未安装,现在开始安装"
        mount /dev/sr0 /mnt
        dnf install nfs-utils -y
fi


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

if systemctl is-active nginx &> /dev/null;then
        echo "$service_name服务已运行,可通过浏览器访问网站。"
        curl www.nginx.com
else
        echo "$service_name服务未启动。"
        echo "以下为配置信息:"
        cat $web_path/index.html
fi
echo "脚本代码在附件" | s-nail -s  "分析部署nginx网络服务的脚本代码" -a "$0"  lxx1065372838@163.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值