要求:
通过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" lxx1065372838@163.com
else
echo "服务运行失败."
fi
完整代码
测试:
访问网站
给自己163邮箱发送测试