1. 编译安装nginx
# 先看有没有安装nginx,然后安装,创建用户,启动
cat <<EOF
功能:
1、编译安装nginx
2、初始化功能
3、清理安装环境
4、选择是否启动nginx
EOF
# 检查是否安装nginx
nginx_path=`find / -name '*nginx'`
if [ -n "$nginx_path" ];then
read -p "当前环境已安装nginx,是否清理重装[Y|N]" result
if [ "$result" = "Y" ] || [ "$result" = "y" ];then
echo "开始清理nginx环境"
rm -rf $result
echo "nginx环境清理完成"
else
echo "无法继续执行安装操作,程序终止"
exit 1
fi
fi
echo '当前系统没安装nginx,准备进行安装'
yum clean all && yum makecache
if [ $? -eq 0 ];then
yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel
echo 'nginx依赖包安装完成'
read -p "准备下载nginx包,请输入下载目录" wgnginx_path
echo '下载nginx包'
wget http://nginx.org/download/nginx-1.16.1.tar.gz
echo '切换到您输入下载的目录中,解压缩'
mv nginx-1.16.1.tar.gz $wgnginx_path
cd $wgnginx_path
tar xzf nginx-1.16.1.tar.gz
cd nginx-1.16.1
read -p "准备安装nginx包,请输入安装目录" agnginx_path
./configure --user=www --group=www --prefix=$agnginx_path
echo '编译文件'
make
echo '安装文件'
make install
echo '创建nginx的用户'
useradd www
echo '关闭防火墙和setenforce'
systemctl stop firewalld && setenforce 0
echo 'nginx编译安装成功'
read -p "是否需要启动nginx[Y|N]" yn
if [ "$yn" = "Y" ] || [ "$yn" = "y" ];then
$agnginx_path/sbin/nginx
else
echo '退出脚本流程'
exit 0
fi
else
echo "yum程序错误,请检查"
fi
2. yum安装mysql
#!/usr/bin/bash
cat <<EOF
功能:
1、yum安装mysql5.7、8.0版本
2、初始化功能
3、清理安装环境
EOF
# 检测环境,清理环境
# 1、判断mysql是否已安装
rpm -qa | grep -P "mysql|mariadb" &>/dev/null
# 根据上面命令返回的值判断是否已经安装 0已安装
if [ $? -eq 0 ];then
read -p "当前环境已安装mysql,是否清理[Y|N]" result
# result为用户输入的信息判断是否清理
if [ "$result" = "Y" ] || [ "$result" = "y" ];then
echo "开始清理mysql环境,对于数据,我将会保留并保存到/tmp/mysql_data目录"
# 先停止mysql服务
systemctl stop mysqld mariadb &>/dev/null
# 清理mysql相关的包
yum erase -y `rpm -qa | grep -P "mysql|mariadb"` &>/dev/null
# 删除mysql相关的文件
rm -rvf /var/log/mysqld.log /etc/my.cnf /var/lib/mysql-files
# 备份数据到/tmp/mysql_data中
mv /var/lib/mysql /tmp/mysql_data 2>/dev/null
else
# 说明不安装
echo "无法继续执行安装操作,程序终止"
exit
fi
fi
# 先清理yum缓存和建立缓存
yum clean all && yum makecache
if [ $? -eq 0 ];then
echo "开始安装mysql"
# 安装mysql的yum源
yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm &>/dev/null && \
read -p "请选择安装版本的版本号[80|57](default 57):" level
level=${level:=57}
if [ $level -eq 57 ];then
# 安装57版本的mysql
yum install -y mysql-community-server --nogpgcheck --enablerepo mysql57-community --disablerepo mysql80-community
elif [ $level -eq 80 ];then
# 安装58版本的mysql
yum install -y mysql-community-server --nogpgcheck
fi
else
echo "yum程序错误,请检查"
fi
systemctl enable mysqld --now
if [ -f /var/log/mysqld.log ];then
# 安装成功启动后获取密码
passwd=$(grep password /var/log/mysqld.log | awk 'END {print $NF}')
# 重新设置密码
mysqladmin -uroot -p"$passwd" password 'QianFeng@123'
cat <<EOF
mysql $level 安装完成
数据目录位置: /var/lib/mysql
命令位置: /usr/bin
配置文件位置: /etc/my.cnf
日志文件位置: /var/log/mysqld.log
历史数据位置: /tmp/mysql_data
初始密码: QianFeng@123
EOF
else
echo "日志文件无法找到,修改密码失败"
fi
3. shell基本用法
https://blog.csdn.net/weixin_45814478/article/details/137054889?spm=1001.2014.3001.5501
请看上一篇博客