zoukankan      html  css  js  c++  java
  • 10 一键部署LNMP网站平台

    #!/bin/bash
    export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    
    NGINX_V=1.19.1
    PHP_V=7.2.19
    TMP_DIR=/tmp
    INSTALL_DIR=/usr/local
    PWD_C=$PWD
    
    echo
    echo -e "	Menu
    "
    echo -e "1. Install Nginx"
    echo -e "2. Install PHP"
    echo -e "3. Install MySQL"
    echo -e "4. Deploy LNMP"
    echo -e "9. Quit"
    
    if ! id nginx &> /dev/null; then
        groupadd -g 1200 nginx
        useradd -M -s /sbin/nologin -u 1200 -g nginx nginx &> /dev/null
    fi
    
    function command_status_check() {
        if [ $? -ne 0 ]; then
            echo $1
            exit
        fi
    }
    
    function install_nginx() {
        cd $TMP_DIR
        yum install -y gcc gcc-c++ make openssl-devel pcre-devel wget
        wget http://nginx.org/download/nginx-${NGINX_V}.tar.gz
        tar zxf nginx-${NGINX_V}.tar.gz
        cd nginx-${NGINX_V}
        ./configure --prefix=$INSTALL_DIR/nginx 
        --user=nginx 
        --group=nginx 
        --with-http_ssl_module 
        --with-http_stub_status_module 
        --with-stream
        command_status_check "Nginx - 平台环境检查失败!"
        make -j 4
        command_status_check "Nginx - 编译失败!"
        make install
        command_status_check "Nginx - 安装失败!"
        mkdir -p $INSTALL_DIR/nginx/conf/conf.d
        cp -a $PWD_C/nginx.conf $INSTALL_DIR/nginx/conf
        rm -rf $INSTALL_DIR/nginx/html/*
        echo "ok" > $INSTALL_DIR/nginx/html/status.html
        echo '<?php phpinfo(); ?>' > $INSTALL_DIR/nginx/html/status.php
        # $INSTALL_DIR/nginx/sbin/nginx
        cp -a $PWD_C/nginx.service /usr/lib/systemd/system
        systemctl daemon-reload
        systemctl enable nginx.service
        systemctl start nginx.service
        command_status_check "Nginx - 启动失败!"
    }
    
    function install_php() {
        cd $TMP_DIR
        yum install -y gcc gcc-c++ make gd-devel libxml2-devel 
            libcurl-devel libjpeg-devel libpng-devel openssl-devel 
            libmcrypt-devel libxslt-devel libtidy-devel
        wget http://docs.php.net/distributions/php-${PHP_V}.tar.gz
        tar zxf php-${PHP_V}.tar.gz
        cd php-${PHP_V}
        ./configure --prefix=$INSTALL_DIR/php 
        --with-config-file-path=$INSTALL_DIR/php/etc 
        --enable-fpm --enable-opcache 
        --with-fpm-user=nginx 
        --with-fpm-group=nginx 
        --with-mysql --with-mysqli --with-pdo-mysql 
        --with-openssl --with-zlib --with-curl --with-gd 
        --with-jpeg-dir --with-png-dir --with-freetype-dir 
        --enable-mbstring --enable-hash
        command_status_check "PHP - 平台环境检查失败!"
        make -j 4 
        command_status_check "PHP - 编译失败!"
        make install
        command_status_check "PHP - 安装失败!"
        cp -a php.ini-production $INSTALL_DIR/php/etc/php.ini
        cp -a $INSTALL_DIR/php/etc/php-fpm.conf.default $INSTALL_DIR/php/etc/php-fpm.conf
        cp -a $INSTALL_DIR/php/etc/php-fpm.d/www.conf.default $INSTALL_DIR/php/etc/php-fpm.d/www.conf
        cp -a sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
        chmod +x /etc/init.d/php-fpm
        # /etc/init.d/php-fpm start
        cp -a $PWD_C/php.service /usr/lib/systemd/system
        systemctl daemon-reload
        systemctl enable php.service
        systemctl start php.service
        command_status_check "PHP - 启动失败!"
    }
    
    function install_mysql() {
        yum install mariadb-server -y
        command_status_check "mysql - 安装失败!"
        systemctl enable mariadb.service
        systemctl start mariadb.service
        command_status_check "mysql - 启动失败!"
    }
    
    read -p "请输入编号:" number
    case $number in
        1)
            install_nginx;;
        2)
            install_php;;
        3)
            install_mysql;;
        4)
            install_mysql
            install_nginx
            install_php
            ;;
        9)
            exit;;
    esac
  • 相关阅读:
    poj 1860 Currency Exchange(最短路径的应用)
    poj 2965 The Pilots Brothers' refrigerator
    zoj 1827 the game of 31 (有限制的博弈论)
    poj 3295 Tautology (构造法)
    poj 1753 Flip Game(枚举)
    poj 2109 (贪心)
    poj 1328(贪心)
    Qt 对单个控件美化
    Qt 4基础
    Bash Shell
  • 原文地址:https://www.cnblogs.com/LiuChang-blog/p/14697948.html
Copyright © 2011-2022 走看看