• LNMP Shell脚本发布


    #!/bin/bash
    #2019.7.28 15:14
    #This author is DKS
    #auto install nginx mysql php 
    ###################################
    NGINX_VER="1.12.0"
    NGINX_SOFT="nginx-$NGINX_VER"
    NGINX_SRC="${NGINX_SOFT}.tar.gz"
    NGINX_DIR="/usr/local/nginx"
    NGINX_URL="http://nginx.org/download/$NGINX_SRC"
    
    auto_install_nginx(){
        if [ -d /usr/local/nginx ];then
            break
        fi
        cd $HOME
        yum -y install wget  epel-release gcc-c++ zlib zlib-devel openssl-devel openssl pcre-devel curl-devel
        wget -c $NGINX_URL
        tar -xzvf $NGINX_SRC
        cd $NGINX_SOFT
        ./configure --prefix=$NGINX_DIR 
        make  
        make install
        systemctl stop firewalld.service
        setenforce 0
        /usr/local/nginx/sbin/nginx
    }
    #####################################################
    MYSQL_SOFT="mysql-5.5.61"
    MYSQL_SRC="${MYSQL_SOFT}.tar.gz"
    MYSQL_DIR="/usr/local/mysql5"
    MYSQL_URL="http://mirrors.163.com/mysql/Downloads/MySQL-5.5/mysql-5.5.61.tar.gz"
    MYSQL_DATA="/data/mysql"
    
    auto_install_mysql(){
        if [ -d /usr/local/mysql5 ];then
            break
        fi
        cd $HOME
        yum -y install cmake gcc-c++  ncurses-devel bison-devel cmake nucrses
        wget -c $MYSQL_URL
        tar -xzvf $MYSQL_SRC
        cd $MYSQL_SOFT
        mkdir -p $MYSQL_DATA
        touch /tmp/mysql.sock
        cmake . -DCMAKE_INSTALL_PREFIX=$MYSQL_DIR 
        -DMYSQL_UNIX_ADDR=/tmp/mysql.sock 
        -DMYSQL_DATADIR=$MYSQL_DATA 
        -DSYSCONFDIR=/etc 
        -DMYSQL_USER=mysql 
        -DMYSQL_TCP_PORT=3306 
        -DWITH_XTRADB_STORAGE_ENGINE=1 
        -DWITH_INNOBASE_STOAGE_ENGINE=1 
        -DWITH_BLACKHOLE_STORAGE_ENGINE=1 
        -DWITH_PARTITION_STORAGE_ENGINE=1 
        -DWITH_MYISAM_STORAGE_ENGINE=1 
        -DWITH_READLINE=1 
        -DENABLE_LOCAL_INFILE=1 
        -DWITH_EXTRA_CHARSES=1 
        -DDEFAULT_CHARSET=utf8 
        -DDEFAULT_COLLATION=utf8_general_ci 
        -DEXTRA_CHARSETS=all 
        -DWITH_BIG_TABLES=1 
        -DWITH_DEGUG=0
        
        useradd mysql
        make && make install 
        cd $MYSQL_DIR
        chown -R mysql:mysql .
        cp support-files/my-large.cnf
        cp support-files/mysql.server /etc/init.d/mysqld
        chmod 755 /etc/init.d/mysqld
        chkconfig --add mysql 
        chkconfig --level 35 mysqld on
         
        cd $MYSQL_DIR
        ./scripts/mysql_install_db --user=mysql --datadir=${MYSQL_DATA} --basedir=${MYSQL_DIR}
        ln -s $MYSQL_DIR/bin/* /usr/bin/
        service mysqld start    
    }
    ####################################################
    PHP_VAR="5.6.28"
    PHP_SOFT="php-${PHP_VAR}"
    PHP_SRC="${PHP_SOFT}.tar.bz2"
    PHP_URL="http://mirrors.sohu.com/php/$PHP_SRC"
    PHP_DIR="/usr/local/php5"
    auto_install_php(){
        if [ -d /usr/local/php ];then
            break
        fi
        cd $HOME
        yum -y install gcc-c++ gd libjpeg-devel libjpeg libpng libpng-devel libxml2 libxml2-devel freetype freetype-devel bison bison-devel 
        wget -c $PHP_URL
        tar -xjvf $PHP_SRC
        cd $PHP_SOFT
    ./configure  
    --prefix=${PHP_DIR} 
    --enable-fpm 
    --enable-debug 
    --enable-mbstring 
    --with-gd 
    --with-jpeg-dir 
    --with-png-dir 
    --with-freetype-dir 
    --with-curl 
    --with-mysql=mysqlnd 
    --with-mysqli=mysqlnd 
    --with-pdo-mysql=mysqlnd 
    --with-config-file-path=${PHP_DIR}/etc 
        make
        make install
        cp php.ini-development $PHP_DIR/etc/php.ini
        cp $PHP_DIR/etc/php-fpm.conf.default $PHP_DIR/etc/php-fpm.conf
        cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
        chmod 755 /etc/init.d/php-fpm
        chkconfig --add php-fpm
        service php-fpm start
    }
    TEMP=$(mktemp -t test.XXXXXX)
    while [ 1 ]
    do
        dialog --menu "安装LNMP服务" 20 30 10 1 "安装Nginx" 2 "安装MySQL" 3 "安装PHP" 0 "退出" 2>$TEMP
        if [ $? -eq 1 ];then
            break
        fi
        selection=$(cat $TEMP)
        case $selection in
            1)
            auto_install_nginx
            ;;
            2)
            auto_install_mysql
            ;;
            3)
            auto_install_php
            ;;
            0)
            break
            ;;
            *)
            dialog --msgbox "选择错误,请重选" 15 30
            esac
    done
    rm -r $TEMP 2> /dev/null
  • 相关阅读:
    一种利用异常机制基于MVC过滤器的防止重复提交的机制分享
    泛型算法参考手册
    Http协议中get和post的区别----学习笔记
    Apache Commons工具类学习(一)-----CSV
    Appium 相关学习(三) 使用webdriver截图以及app点击事件
    Appium 相关学习(二) testng中的Assert类
    Appium 相关学习(一)
    Java 获取一个当前系统可以用的端口
    Java图片base64编码解码,接口使用
    myeclipse中运行maven web项目时tomcat启动报错——解决方法
  • 原文地址:https://www.cnblogs.com/IMSCZ/p/11263949.html
Copyright © 2020-2023  润新知