• CentOS7 编码编译安装或卸载http2.4.25 一键脚本


    待完善

    CentOS 7测试

    哈哈

    #!/bin/bash
    #**************************************************************
    #Author:                     dsadas
    #QQ:                         68**67321
    #Date:                       2019-08-08
    #FileName:                   install_httpd.sh
    #URL:                        https://jd.com
    #Description:                The test script
    #Copyright (C):              2019 Copyright ©  站点名称  版权所有
    #************************************************************
    #set -e
    RED="33[0;31m"
    GREEN="33[0;32m"
    NO_COLOR="33[0m"
    PREFIX=/apps/httpd24
    SYSCONFDIR=/etc/httpd
    SRC=/usr/src
    FLAG=$1
    CPUS=`cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l`
    CORE=`cat /proc/cpuinfo| grep "cpu cores"| uniq | awk '{print $4}'`
    J=$((${CPUS}*${CORE}))
    
    # 判断是不是root
    judge_root() {
        [ $(id -u) != "0" ] && { echo -e "${RED}Error:${NO_COLOR} You must be root to run this script."; exit 1; }   
    }
    
    
    # download 
    download_source() {
        cd
        yum install wget -y
        #wget http://archive.apache.org/dist/httpd/httpd-2.4.25.tar.bz2
        # wget https://ftp.osuosl.org/pub/blfs/conglomeration/httpd/httpd-2.4.25.tar.bz2
        wget https://ftp.bit.nl/apache/httpd-2.4.25.tar.bz2
        if [ ! "$?" -eq 0 ];then
            echo "download failed!"
            exit 1
        fi
    }
    
    # install
    install() {
        wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
        yum install gcc openssl-devel pcre-devel apr-devel apr-util-devel libnghttp2-devel ncurses-devel  lbzip2  bzip2 -y
        tar xf httpd-2.4.25.tar.bz2 -C ${SRC}/
        cd ${SRC}/httpd-2.4.25
        ./configure 
        --prefix=${PREFIX} 
        --sysconfdir=${SYSCONFDIR} 
        --enable-http2 
        --disable-auth-basic 
        --enable-ssl 
        --enable-so
        make -j ${J}
        make install
        echo "PATH=${PREFIX}/bin:$PATH" >> /etc/profile.d/env.sh
        source /etc/profile.d/env.sh
    }
    
    # test_web
    test_web() {
        apachectl start
        ss -ltn | grep -q :80
        [ "$?" -eq 0 ] && echo -e "${GREEN}May be web server is ok! 
     If not ok,please check selinux and firewalld status.${NO_COLOR}" || 
            echo -e "${RED}ERROR,Please check the web server.${NO_COLOR}"
    }
    
    remove_httpd() {
        source /etc/profile.d/env.sh
        apachectl stop
        rm -rf ${PREFIX} ${SYSCONFDIR} ${SRC}/httpd-2.4.25
        sed -i '/^PATH/d' /etc/profile.d/env.sh
    }
    
    judge_uninstall(){
    if [ "$FLAG" = "uninstall" ];then
        remove_httpd
        exit 0
    fi
    }
    
    main() {
        judge_uninstall
        judge_root
        download_source
        install
        test_web
    }
    
    main
    
  • 相关阅读:
    Linux基础知识[2]【延迟及定时机制】
    Linux基础知识[1]【ACL权限】
    docker 入门学习篇【基本命令与操作】
    centos7.1下 Docker环境搭建
    RHEL6.5下更新python至2.7版本
    Github初学者探索
    vmware下linux虚拟机传文件解决方案之 xftp
    mysql 常用操作命令
    常用DNS记录
    SDNU 1481.纪念品分组(水题)
  • 原文地址:https://www.cnblogs.com/uscWIFI/p/11322571.html
Copyright © 2020-2023  润新知