要求
1.接收用户部署的服务名称
2.判断服务是否安装
已安装;自定义网站配置路径为/www;并创建共享目录和网页文件;重启服务
没有安装;安装对应的软件包
3.测试
判断服务是否成功运行;
已运行,访问网站
未运行,提示服务未启动,并显示自定义的配置文件内容
4.以上配置没有问题,请邮件告知我,并将脚本代码(代码文件)邮件发送我
我的邮箱账号:lxx165372838@163.com
实现
前提:挂载、关闭防火墙、禁用SElinux
#!/bin/bash
# 定义变量
SERVICE_NAME="nginx"
WEBSITE_PATH="/www"
CONFIG_FILE="/etc/nginx/conf.d/zuoye.conf"# 接收用户输入的服务名称
read -p "请输入您要部署的服务名称(默认为Nginx): " SERVICE_NAME
SERVICE_NAME=${SERVICE_NAME:-"nginx"}# 判断服务是否已安装
if ! command -v $SERVICE_NAME &> /dev/null
then
echo "$SERVICE_NAME 未安装,开始安装..."
sudo dnf install -y $SERVICE_NAME
else
echo "$SERVICE_NAME 已安装。"
fi# 创建共享目录和网页文件
echo "创建共享目录和网页文件..."
sudo mkdir -p $WEBSITE_PATH
echo "<html><head><title>Welcome to My Nginx</title></head><body><h1>Hello World!</h1></body></html># 配置Nginx以指向新创建的网站目录
echo "配置Nginx..."
sudo tee $CONFIG_FILE > /dev/null <<EOF
server {
listen 192.168.62.128:80 ;
root $WEBSITE_PATH;
location / {
index index.html;
}
}
EOF# 重启Nginx服务
echo "重启Nginx服务..."
sudo systemctl restart $SERVICE_NAME# 测试服务是否成功运行
if systemctl is-active --quiet $SERVICE_NAME
then
echo "$SERVICE_NAME 服务正在运行。"
else
echo "$SERVICE_NAME 服务未启动。"
echo "请检查以下配置文件内容:"
cat $CONFIG_FILE
fimail -s "Nginx 部署完成" lxx165372838@163.com < /dev/null
验证