zoukankan      html  css  js  c++  java
  • 自动安装lanmp脚本

    #!/bin/bash
    #auto install LANMP
    #by author ale 
    #2019-4-30 20:39:04
    #Httpd define path variable
    H_FILES=httpd-2.4.38.tar.gz
    H_FILES_DIR=httpd-2.4.38
    H_URL=http://mirrors.cnnic.cn/apache/httpd/
    H_PREFIX=/usr/local/apache
    
    
    #Mysql define path variable
    M_FILES=mysql-5.5.20.tar.gz
    M_FILES_DIR=mysql-5.5.20
    M_PREFIX=/usr/local/mysql
    M_YUM="cmake  ncurses-devel ncurses pcre pcre-devel"
    
    #Php define path variable
    P_FILES=php-5.6.10.tar.gz
    P_FILES_DIR=php-5.6.10
    P_URL=http://ftp.ntu.edu.tw/php/distributions/
    P_PREFIX=/usr/local/php
    P_YUM="gd   curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel"
    
    #Nginx define path variable
    N_FILES=nginx-1.12.2.tar.gz
    N_FILES_DIR=nginx-1.12.2
    N_URL=http://nginx.org/download/
    N_PREFIX=/usr/local/nginx
    N_YUM="openssl openssl-devel"
    
    print_menu(){
        echo -e "33[32mPlease Select Install Menu follow:33[0m"
        echo -e "33[32m1)编译安装Apache服务33[0m"
        echo -e "33[32m2)编译安装NGINX服务33[0m"
        echo -e "33[32m3)编译安装MYSQL服务33[0m"
        echo -e "33[32m4)编译安装PHP服务33[0m"
        echo -e "33[32m5)配置index.php并启动LAMP服务33[0m"
        echo -e "33[32m6)整合LNMP33[0m"
        exit 
    }
    
    apache_install(){
    #Install httpd web server
    if [[ "$1" -eq "1" ]];then
        wget -c $H_URL/$H_FILES;tar -xzf $H_FILES;cd $H_FILES_DIR;./configure --prefix=$H_PREFIX --enable-so --enable-cgi --enable-rewrite --enable-module=most --enable-mpms-shared=all 
        if [ $? -eq  0 ];then
            make &&make install
            cp $H_PREFIX/bin/apachectl /etc/init.d/httpd
            chmod o+x /etc/init.d/httpd
        fi
    fi
    }
    
    nginx_install(){
    #Install nginx web server
    if [[ "$1" -eq "2" ]];then
            yum install -y $N_YUM
            wget -c $N_URL/$N_FILES;tar -xzf $N_FILES;cd $N_FILES_DIR;useradd www;./configure --prefix=$N_PREFIX --user=www --group=w
    ww --with-http_stub_status_module --with-http_ssl_module
            make && make install
    fi
    }
    
    
    mysql_install(){
    #Install mysql server
    if [[ "$1" == "3" ]];then
        yum install -y $M_YUM
        tar -xf $M_FILES;cd $M_FILES_DIR;cmake  . -DCMAKE_INSTALL_PREFIX=$M_PREFIX 
    -DMYSQL_UNIX_ADDR=/tmp/mysql.sock 
    -DMYSQL_DATADIR=/data/mysql 
    -DSYSCONFDIR=/etc 
    -DMYSQL_USER=mysql 
    -DMYSQL_TCP_PORT=3306 
    -DWITH_XTRADB_STORAGE_ENGINE=1 
    -DWITH_INNOBASE_STORAGE_ENGINE=1 
    -DWITH_PARTITION_STORAGE_ENGINE=1 
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 
    -DWITH_MYISAM_STORAGE_ENGINE=1 
    -DWITH_READLINE=1 
    -DENABLED_LOCAL_INFILE=1 
    -DWITH_EXTRA_CHARSETS=1 
    -DDEFAULT_CHARSET=utf8 
    -DDEFAULT_COLLATION=utf8_general_ci 
    -DEXTRA_CHARSETS=all 
    -DWITH_BIG_TABLES=1 
    -DWITH_DEBUG=0
    make -j4 && make install -j4
    cp support-files/my-small.cnf  /etc/my.cnf
    cp support-files/mysql.server /etc/init.d/mysqld
    useradd mysql;$M_PREFIX/scripts/mysql_install_db --basedir=$M_PREFIX --datadir=/data/mysql --user=mysql
    chmod +x /etc/init.d/mysqld
    chkconfig --add mysqld
    fi
    }
    
    
    php_install(){
    #Install php server
    if [[ "$1" -eq "4" ]];then
        yum -y install $P_YUM
        wget -c $P_URL/$P_FILES;tar -xzf $P_FILES;cd $P_FILES_DIR;./configure --prefix=$P_PREFIX --enable-fpm  --with-pdo-mysql  --enable-debug --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir   --enable-mbstring --with-curl   --with-mysql=$M_PREFIX  --with-config-file-path=$P_PREFIX/etc --with-apxs2=$H_PREFIX/bin/apxs     
        if [ $? -eq 0 ];then
            make -j4 && make install -j4
            cp php.ini-development $P_PREFIX/etc/php.ini
            cp  $P_PREFIX/etc/php-fpm.conf.default  $P_PREFIX/etc/php-fpm.conf
            $M_PREFIX/sbin/php-fpm 
            cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
            chmod o+x /etc/init.d/php-fpm
            echo -e "33[32mThe Php Server Install Success33[0m"
        else
            echo -e "33[32mThe Php Server Install Failed,Please check..33[0m"
        fi
    fi
    }
        
    lamp_config(){
    if [[ "$1" = "5" ]];then
        sed -i '/DirectoryIndex/s/index.html/index.php index.html/g' $H_PREFIX/conf/httpd.conf 
        $H_PREFIX/bin/apachectl restart    
        echo "AddType     application/x-httpd-php .php" >>$H_PREFIX/conf/httpd.conf
        IP=`ifconfig ens33|grep "broadcast"|awk '{print $2}'|cut -d: -f2`
        echo "You can access http://$IP/"
        cat >$H_PREFIX/htdocs/index.php <<EOF
        <?php
        phpinfo();
        ?>
    EOF
    fi
    }
    
    lnmp_config(){
    if [[ "$1" = "6" ]];then
        cp nginx.conf.swp $N_PREFIX/conf/nginx.conf 
        cat >$N_PREFIX/html/index.php <<EOF
            <?php
            phpinfo();
            ?>
    EOF
        $N_PREFIX/sbin/nginx
        /etc/init.d/php-fpm restart
        /etc/init.d/mysqld restart
        systemctl stop firewalld
        setenforce 0
    fi
    }
    
    case $1 in
    
        1)
            apache_install $1
        ;;
        2)
            nginx_install $1
        ;;
        3)
            mysql_install $1
        ;;
        4)
            php_install $1
        ;;
        5)
            lamp_config $1
        ;;
        6)
            lnmp_config $1
        ;;
        *)
            print_menu
        ;;
    esac
    nginx.conf.swp 内容如下
    worker_processes  1;
    events {
        worker_connections  1024;
    }
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
        server {
            listen       80;
            server_name  localhost;
            location / {
                root   html;
                index  index.html index.htm;
            }
             location  ~ .php$ {
                root           html;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
                include        fastcgi_params;
            }
        }
    }
     
  • 相关阅读:
    binary tree解题模板
    done infosys 八股文springboot员工管理系统
    好题 telus国际_从镜子里看到另一台显示器的面试
    done 对于spring boot oa的面试思考
    done 有一点题 infosys 秀出你的ID spring经历问得很细
    Eliassen Group vendor 检测眼球视线的oa 又细又多做不完
    done tek 把你从牛角尖钻出来的node list算法题
    contagious.ly 自豪的纽约客,政府vendor
    Apple screening carlos白人 头晕脑胀的三道简单算法题
    done apple_Infosys_Jugal 要求完整写出Java8 stream
  • 原文地址:https://www.cnblogs.com/legenidongma/p/10800558.html
Copyright © 2011-2022 走看看