使用脚本进行编译安装nginx和安装mysql

本文详细描述了在Linux环境下通过脚本编译安装Nginx的过程,包括检查是否已安装、清理环境、配置参数和启动选项,以及使用yum安装不同版本的MySQL并设置初始密码。同时提及了shell基本用法的相关链接。
摘要由CSDN通过智能技术生成

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

请看上一篇博客

  • 12
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基本的 LNMP 编译安装脚本示例,适用于 CentOS 7: ```bash #!/bin/bash # 安装必要的依赖 yum -y install epel-release yum -y install wget gcc pcre-devel openssl-devel # 下载并编译安装 Nginx NGINX_VERSION=1.19.6 wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz tar -zxvf nginx-${NGINX_VERSION}.tar.gz cd nginx-${NGINX_VERSION} ./configure --prefix=/usr/local/nginx --with-http_ssl_module make && make install # 下载并编译安装 MariaDB MARIADB_VERSION=10.5.8 wget https://downloads.mariadb.org/f/mariadb-${MARIADB_VERSION}/source/mariadb-${MARIADB_VERSION}.tar.gz tar -zxvf mariadb-${MARIADB_VERSION}.tar.gz cd mariadb-${MARIADB_VERSION} cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DENABLE_SSL=1 make && make install # 下载并编译安装 PHP PHP_VERSION=7.4.15 wget https://www.php.net/distributions/php-${PHP_VERSION}.tar.gz tar -zxvf php-${PHP_VERSION}.tar.gz cd php-${PHP_VERSION} ./configure --prefix=/usr/local/php --with-mysqli=/usr/local/mariadb/bin/mysql_config --with-openssl --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --enable-mbstring --enable-sockets --enable-opcache --with-zlib --with-curl --with-gd --with-jpeg-dir --with-png-dir make && make install # 配置 Nginx、MariaDB 和 PHP # 这里省略具体的配置步骤,可以根据需要自行配置 # 启动服务 /usr/local/nginx/sbin/nginx /usr/local/mariadb/bin/mysqld_safe & /usr/local/php/sbin/php-fpm # 设置开机自启 echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local echo "/usr/local/mariadb/bin/mysqld_safe &" >> /etc/rc.local echo "/usr/local/php/sbin/php-fpm" >> /etc/rc.local chmod +x /etc/rc.d/rc.local # 完成安装 echo "LNMP 安装成功!" ``` 请注意,此脚本仅用于示例目的,实际使用时可能需要根据自己的需求进行适当的修改和配置。另外,建议在执行脚本之前备份重要的数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值