news 2026/5/29 16:59:35

Shell脚本部署——8day

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Shell脚本部署——8day

Shell脚本部署

课程目标

  1. 掌握shell脚本的思路

  2. 完成shell脚本的编写

课程实验

  1. shell脚本的思路

  2. shell脚本的编写

课堂引入

部署项目中,有很多都是固定的模式与内容,所有的东西都需要人工去操作的话,成本就比较高,也比较麻烦,能不能通过脚本自动取执行呢?

授课进程

一、脚本部署思路
1、概述

shell脚本自动化部署旨在完成一个固定程式化的东西,解放劳动力。

2、思路
  • 防火墙

  • 主机名

  • yum源

  • 安装MySQL

  • 安装apache

  • 安装PHP

  • 配置

  • 启动项目

二、脚本实现
1、防火墙
#!/bin/bash ​ # 防火墙相关设置 systemctl status firewalld | grep -w "dead" &> /dev/null if [ $? -eq 0 ];then echo "防火墙已经关闭,不需要进行处理" else echo "防火墙处理中..." systemctl stop firewalld &> /dev/null systemctl disable firewalld &> /dev/null fi setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config echo "关闭防火墙成功"
2、主机名
# 设置主机名 if [ $# -eq 0 ];then hostnamectl set-hostname server.com &>/dev/null else hostnamectl set-hostname $1 &>/dev/null fi echo "设置主机名成功"
3、yum源
# 配置yum源 # 看网络是否可以ping通 ping -c1 www.baidu.com &> /dev/null if [ ! $? -eq 0 ];then echo "网络不通,请先确认网路是否通畅,退出脚本" exit fi # 先通过yum安装wget yum install wget -y &> /dev/null # 备份之前的镜像源 cd /etc/yum.repos.d/ tar -zcvf repo.tar.gz *.repo rm -rf *.repo # 配置阿里镜像源 wget -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.rep yum clean all yum makecache # 安装扩展镜像源 yum install epel-release -y
#!/bin/bash # 防火墙相关设置 systemctl stop firewalld &>/dev/null systemctl disable firewalld &>/dev/null setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config echo "关闭防火墙成功" # 设置主机名 if [ $# -eq 0 ];then hostnamectl set-hostname server.com &>/dev/null else hostnamectl set-hostname $1 &>/dev/null fi echo "设置主机名成功" # 配置yum源 # 看网络是否可以ping通 ping -c1 www.baidu.com &>/dev/null if [ ! $? -eq 0 ];then echo "网络不通,请先确认网路是否通畅,退出脚本" exit fi # 先通过yum安装wget yum install wget -y &>/dev/null # 备份之前的镜像源 cd /etc/yum.repos.d/ tar -zcvf repo.tar.gz *.repo &>/dev/null rm -rf *.repo # 配置阿里镜像源 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo &>/dev/null yum clean all &>/dev/null yum makecache &>/dev/null # 安装扩展镜像源 yum install epel-release -y &>/dev/null echo "yum源配置成功"
4、安装MySQL
# 安装MySQL # 1. 检查MySQL源码包是否已经上传 # 2. 检查并创建用户 # 3. 解压缩软件并进入MySQL目录 # 4. 源码配置,安装必要的依赖 # 5. 执行配置选项 # 6. 编译并安装 # 7. 更改数据目录权限 # 8. 初始化数据库 # 9. 拷贝启动脚本 # 10. 启动数据库 # 11. 设置密码
# 安装MySQL # 1. 检查MySQL源码包是否已经上传 if [ ! -e /root/mysql-5.6.31.tar.gz ];then echo "MySQL安装包不存在,请检查是否上传MySQL安装包" exit fi # 2. 检查并创建用户 grep -w 'mysql' /etc/passwd if [ ! $? -eq 0 ];then echo "不存在mysql用户,创建mysql系统用户" useradd -r -s /sbin/nologin mysql fi # 3. 解压缩软件并进入MySQL目录 tar -zxvf mysql-5.6.31.tar.gz cd mysql-5.6.31 # 4. 源码配置,安装必要的依赖 echo "正在安装必要的一些依赖....." yum install gcc-c++ -y yum install cmake -y yum -y install ncurses-devel yum -y install autoconf # 5. 执行配置选项 echo "正在配置MySQL....." cmake . \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DMYSQL_TCP_PORT=3306 \ -DDEFAULT_CHARSET=utf8mb4 \ -DDEFAULT_COLLATION=utf8mb4_general_ci \ -DWITH_EXTRA_CHARSETS=all \ -DMYSQL_USER=mysql # 6. 编译并安装 echo "正在编译安装MySQL....." make && make install # 7. 更改数据目录权限 chown -R mysql.mysql /usr/local/mysql/ # 8. 初始化数据库 rm -f /etc/my.cnf cd /usr/local/mysql/ ./scripts/mysql_install_db --user=mysql # 9. 拷贝启动脚本 cp support-files/mysql.server /etc/init.d/mysql # 10. 启动数据库 service mysql starat # 11. 设置密码 /usr/local/mysql/bin/mysqladmin -u root password '123456' # 12. 配置环境变量 echo 'export PATH=/usr/local/mysql/bin/:$PATH' /etc/profile source /etc/profile

课堂小结

  1. shell脚本的思路

  2. shell脚本的编写

课后作业

  1. 课堂的案例及练习

  2. 将今天的内容整理为思维导图的形式

扩展内容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/20 10:14:20

C++课后习题训练记录Day48

1.练习项目: 输入描述 输入两行。 第一行是一个整数 n(1≤n≤10的4次方),表示果子的种类数。 第二行包含 nn 个整数,用空格分隔,第 i 个整数 ai(1≤ai≤210的4次方)是第 i 种果子的数目。 输出描述 输出一个整数&#xff0c…

作者头像 李华
网站建设 2026/5/28 13:01:15

Wan2.2-T2V-A14B如何控制镜头焦距变化带来的透视变形

Wan2.2-T2V-A14B如何控制镜头焦距变化带来的透视变形 在AI生成视频逐渐从“能动”走向“像真”的今天,一个看似细微却极为关键的问题浮出水面:为什么很多AI生成的变焦镜头,总让人感觉“哪里不对劲”? 答案往往藏在那些被忽略的视觉…

作者头像 李华
网站建设 2026/5/29 4:29:30

终极指南:一键重置JetBrains IDE试用期的完整解决方案

终极指南:一键重置JetBrains IDE试用期的完整解决方案 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter ide-eval-resetter是一款专为JetBrains系列IDE设计的智能试用期管理工具,能够帮助开发…

作者头像 李华
网站建设 2026/5/30 3:45:22

Universal x86 Tuning Utility:从入门到精通的性能调优艺术

Universal x86 Tuning Utility:从入门到精通的性能调优艺术 【免费下载链接】Universal-x86-Tuning-Utility Unlock the full potential of your Intel/AMD based device. 项目地址: https://gitcode.com/gh_mirrors/un/Universal-x86-Tuning-Utility 在硬件…

作者头像 李华
网站建设 2026/5/28 19:53:26

多机构联合授牌“妈妈幸福工程”特别支持单位 299万公益学习资源将惠泽万名母亲

(央链直播 北京讯)2025年11月27日,中国移动通信联合会人工智能与元宇宙产业工作委员会、中国通信工业协会区块链专业委员会、中国移动通信联合会数字文化和智慧教育分会、中国移动通信联合会可信资产与数链金融专业委员会等四家机构及物链芯工…

作者头像 李华