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

devtools/2024/11/26 6:02:59/

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

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



2.判断服务是否安装

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

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

if command -v $service_name &>/dev/null; thenecho "$service_name 已安装"web_path="/www"mkdir -p $web_pathsub_config_file=" /etc/nginx/conf.d/new_domain.conf"cat > $sub_config_file <<EOFserver {listen  80;root $web_path;}
EOFtouch $web_path/index.htmlecho "这是一个测试内容" > $web_path/index.htmlsystemctl restart $service_nameecho "$service_name 服务已重启"
elseecho "$service_name 未安装,现在开始安装"mount /dev/sr0 /mntdnf install -y $service_nameif [ $? -eq 0 ];thenecho "$service_name 完成安装"web_path="/www"mkdir -p $web_pathsub_config_file=" /etc/nginx/conf.d/new_domain.conf"cat > $sub_config_file <<EOFserver {listen  80;root $web_path;}
EOFtouch $web_path/index.htmlecho "这是一个测试内容" > $web_path/index.htmlsystemctl restart $service_nameecho "$service_name 服务已重启"elseecho "$service_name 安装失败,请检查错误"exit 1fi
fi

3.测试

判断服务是否成功运行;

​ 已运行,访问网站

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

if rpm -q nfs-utils &>/dev/null;thenecho "nfs已安装"
elseecho "nfs未安装,现在开始安装"mount /dev/sr0 /mntdnf install nfs-utils -y
fiif rpm -q nfs-utils &>/dev/null;thennfs_path="/pub"mkdir -p $nfs_pathtouch $nfs_path/{1..10}chmod o+w $nfs_pathecho " $nfs_path *(rw) " >> /etc/exportssystemctl restart nfs-server
fiif systemctl is-active nginx &> /dev/null;thenecho "$service_name服务已运行,可通过浏览器访问网站。"curl www.nginx.com
elseecho "$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; thenecho "$service_name 已安装"web_path="/www"mkdir -p $web_pathsub_config_file=" /etc/nginx/conf.d/new_domain.conf"cat > $sub_config_file <<EOFserver {listen  80;root $web_path;}
EOFtouch $web_path/index.htmlecho "这是一个测试内容" > $web_path/index.htmlsystemctl restart $service_nameecho "$service_name 服务已重启"
elseecho "$service_name 未安装,现在开始安装"mount /dev/sr0 /mntdnf install -y $service_nameif [ $? -eq 0 ];thenecho "$service_name 完成安装"web_path="/www"mkdir -p $web_pathsub_config_file=" /etc/nginx/conf.d/new_domain.conf"cat > $sub_config_file <<EOFserver {listen  80;root $web_path;}
EOFtouch $web_path/index.htmlecho "这是一个测试内容" > $web_path/index.htmlsystemctl restart $service_nameecho "$service_name 服务已重启"elseecho "$service_name 安装失败,请检查错误"exit 1fi
fiif rpm -q nfs-utils &>/dev/null;thenecho "nfs已安装"
elseecho "nfs未安装,现在开始安装"mount /dev/sr0 /mntdnf install nfs-utils -y
fiif rpm -q nfs-utils &>/dev/null;thennfs_path="/pub"mkdir -p $nfs_pathtouch $nfs_path/{1..10}chmod o+w $nfs_pathecho " $nfs_path *(rw) " >> /etc/exportssystemctl restart nfs-server
fiif systemctl is-active nginx &> /dev/null;thenecho "$service_name服务已运行,可通过浏览器访问网站。"curl www.nginx.com
elseecho "$service_name服务未启动。"echo "以下为配置信息:"cat $web_path/index.html
fi
echo "脚本代码在附件" | s-nail -s  "分析部署nginx网络服务的脚本代码" -a "$0"  lxx1065372838@163.com


http://www.ppmy.cn/devtools/137041.html

相关文章

蓝桥杯每日真题 - 第23天

题目&#xff1a;&#xff08;直线&#xff09; 题目描述&#xff08;12届 C&C B组C题&#xff09; 解题思路&#xff1a; 题目理解: 在平面直角坐标系中&#xff0c;从给定的点集中确定唯一的直线。 两点确定一条直线&#xff0c;判断两条直线是否相同&#xff0c;可通过…

Java 基于SpringBoot +Vue的4S 店车辆管理系统(附源码,说明文档,部署)

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

【JavaEE初阶】枫叶经霜艳,梅花透雪香-计算机是如何运行的?

本篇博客给大家带来的是与计算机相关的知识点, 包括:计算机的组成, 指令, 进程(重点). 文章专栏: JavaEE初阶 若有问题 评论区见 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条. 你们的支持是我不断创作的动力 . 1. 计算机的组成 1.1 计算机的发展史 计算…

CTF之密码学(键盘加密)

在CTF&#xff08;Capture The Flag&#xff0c;夺旗赛&#xff09;中&#xff0c;键盘加密是一种独特而有趣的加密方式&#xff0c;它巧妙地利用了键盘的布局和坐标进行信息的加密和解密。以下是关于CTF中键盘加密的详细解释&#xff1a; 一、键盘加密的定义 键盘加密是通过…

ISUP协议视频平台EasyCVR萤石设备视频接入平台银行营业网点安全防范系统解决方案

在金融行业&#xff0c;银行营业厅的安全保卫工作至关重要&#xff0c;它不仅关系到客户资金的安全&#xff0c;也关系到整个银行的信誉和运营效率。随着科技的发展&#xff0c;传统的安全防护措施已经无法满足现代银行对于高效、智能化安全管理的需求。 EasyCVR视频汇聚平台以…

最新智能AI问答运营系统(SparkAi)一站式AIGC系统,GPT-4.0/GPT-4o多模态模型+联网搜索提问+AI绘画+管理后台,用户会员套餐

目录 一、文章前言 系统介绍文档 二、功能模块介绍 系统快速体验 三、系统功能模块 3.1 AI全模型支持/插件系统 AI大模型 多模态模型文档分析 多模态识图理解能力 联网搜索回复 3.2 AI智能体应用 3.2.1 AI智能体/GPTs商店 3.2.2 AI智能体/GPTs工作台 3.2.3 自定义…

android-sdk 安装脚本

android-sdk 安装脚本 androidSdk_install.sh #!/bin/bash #[描述] android-sdk 安装# set -eu shopt -s expand_aliasesAndroid_SDK_D/app5/android-sdk-home/JAVA17_D/app/zulu17.48.15-ca-jdk17.0.10-linux_x64/#jdk17下载、解压 #https://www.azul.com/downloads/?version…

并发和并行的基础知识

1. 并发&#xff08;Concurrency&#xff09;的例子 场景&#xff1a;单核计算机同时运行多个应用程序 假设你正在使用一台单核 CPU 的计算机&#xff0c;你同时打开了以下任务&#xff1a; 任务 A&#xff1a;听音乐&#xff08;音乐播放器&#xff09;。任务 B&#xff1a…