FastDFS脚本安装

#!/bin/bash

softPath=`pwd`
fastdfsPath='/etc/fdfs'
nginxUser='nginx'
#ip=`ip a|grep '\..'|grep -v '127'|awk -F "[ /]+" '{print $3}'`

function Basics() {
    yum localinstall ${softPath}/rpm/*.rpm -y    
    cd ${softPath}

    tar zxf libfastcommon-1.0.39.tar.gz 
    cd libfastcommon-1.0.39
    ./make.sh && ./make.sh install

    if [[ $? != 0 ]];then
        echo 'libfastcommon安装失败'
        rm -rf ${softPath}/libfastcommon-1.0.39
        exit 1
    fi
    rm -rf ${softPath}/libfastcommon-1.0.39

}

function fastdfs() {
    for((i=1;i>0;i++));do

        read -p '请输入您的本机ip地址:' ip
        ip=`echo $ip|sed 's/ //g'`

        read -p '请确认y/n/r:' confirm
        if [[ ${confirm} == y ]];then
            break

        elif [[ ${confirm} == n ]];then
            exit 0

        elif [[ ${confirm} == r ]];then
            continue  

        fi
    done

    mkdir -p /beixi/{data,application}
    mkdir -p /beixi/data/fastdfs/{storage,tracker}
    mkdir -p /beixi/data/fastdfs/storage/base
    mkdir -p /beixi/data/fastdfs/client

    cd ${softPath}

    tar zxf fastdfs-5.11.tar.gz 
    cd fastdfs-5.11
    ./make.sh && ./make.sh install


    if [[ $? != 0 ]];then
        echo 'fastdfs安装失败'
        exit 1
    fi

    cp ${softPath}/conf/tracker.conf ${fastdfsPath}
    cp ${softPath}/conf/storage.conf ${fastdfsPath}
    cp ${softPath}/conf/client.conf  ${fastdfsPath}

    sed -i "s/192.168.101.62/${ip}/g" ${fastdfsPath}/tracker.conf
    sed -i "s/192.168.101.62/${ip}/g" ${fastdfsPath}/storage.conf
    sed -i "s/192.168.101.62/${ip}/g" ${fastdfsPath}/client.conf

    #/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

    /etc/init.d/fdfs_trackerd start
    /etc/init.d/fdfs_storaged start
    chkconfig fdfs_trackerd on
    chkconfig fdfs_storaged on

    echo '测试节点状态: /usr/bin/fdfs_monitor /etc/fdfs/storage.conf'
    echo '测试图片上传: /usr/bin/fdfs_upload_file /etc/fdfs/client.conf 图片名称.jpg'
    
    rm -rf ${softPath}/fastdfs-5.11   
}

function nginx() {
    mkdir -p /beixi/{data,application}
    cd ${softPath}
    yum localinstall  ${softPath}/rpm/*.rpm -y

    if [[ `grep ${nginxUser} /etc/passwd|wc -l` == 0  ]];then
        useradd nginx -s /sbin/nologin -M
    fi 

    tar zxf nginx-1.18.0.tar.gz
    cd nginx-1.18.0
    ./configure --prefix=/beixi/application/nginx-1.13.8 \
    --user=${nginxUser} \
    --group=${nginxUser} \
    --with-http_ssl_module \
    --with-http_stub_status_module \
    --with-http_sub_module \
    --with-http_random_index_module \
    --with-http_degradation_module \
    --with-http_secure_link_module \
    --with-http_gzip_static_module \
    --with-stream

    if [[ $? == 0 ]];then
        make && make install
    else
        echo "NGINX参数配置错误"
        exit 1
    fi

    cd /beixi/application &&  ln -s nginx-1.13.8 nginx
    cp ${softPath}/conf/nginx.conf /beixi/application/nginx/conf

    /beixi/application/nginx/sbin/nginx -t
    /beixi/application/nginx/sbin/nginx

    rm -rf ${softPath}/nginx-1.18.0
    echo '浏览器访问图片: http://${ip}/16008/group1/M00'
}


parameter=$1

case $parameter in
    fastdfs)
    fastdfs
    ;;

    nginx)
    nginx
    ;;

    Basics)
    Basics
    ;;

    All)
    Basics
    fastdfs
    nginx
    echo '测试节点状态: /usr/bin/fdfs_monitor /etc/fdfs/storage.conf'
    echo '测试图片上传: /usr/bin/fdfs_upload_file /etc/fdfs/client.conf 图片名称.jpg'
    ;;

    *)
    echo '请输入[nginx|fastdfs|Basics|All]'
    ;;

esac

  

posted @ 2020-09-22 10:40  西瓜瓢  阅读(1)  评论(0)    收藏  举报