zoukankan      html  css  js  c++  java
  • lnmp 一键搭建脚本

    转载注明出处!!!!!!!!!

    不足之处望多多指教。

    不明之处站内私。

    #!/bin/bash
    #########################################################
    #by:kingle                                             #
    #use: fast lnmp                                         #
    #version:1.0                                            #
    #php:php-7.2.8                                          #
    #nginx:1.15.1                                           #
    #mysql:5.6.41                                           #
    #cenos:2.6.32-754.2.1.el6.x86_64                        #        
    #########################################################
    dir=/root/opt
    nginx_install_dir="/lnmp/nginx"
    mysql_install_dir="/lnmp/mysql"
    php_install_dir="/lnmp/php"
    nginx_name="nginx-1.15.1.tar.gz"
    mysql_name="mysql-5.6.41.tar.gz"
    php_name="php-7.2.8.tar.gz"
    [ -f /etc/init.d/functions ] && . /etc/init.d/functions || exit 1
    #安装nginx
    install_nginx(){
        #跟新源
      wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
      #安装依赖包
      yum install -y pcre pcre-devel openssl openssl-devel gcc make gcc-c++
      [ -e $dir ] && cd $dir
      if [ -f $nginx_name ]
        then
          echo 'nginx need have'
          # t解压文件
          tar zxf $nginx_name && cd nginx-1.15.1
          # 添加僵尸用户
          useradd nginx -s /sbin/nologin -M
          # 编译安装
          ./configure --user=nginx --group=nginx --prefix=/lnmp/nginx-1.15.1/ --with-http_stub_status_module --with-http_ssl_module
          [ $(echo $?) -eq 0 ] && make && make install
          [ $(echo $?) -eq 0 ] && echo "nginx install success...."    
            #创建软链接
            ln -s  /lnmp/nginx-1.15.1 /lnmp/nginx
      fi
    }
    #开启脚本
    start_nginx(){
        service iptables stop
        setenforce 0 
        /lnmp/nginx/sbin/nginx -c  /lnmp/nginx-1.15.1//conf/nginx.conf
        $nginx_install_dir/sbin/nginx -t 
         if [ $(echo $?) -eq 0 ]
           then
             $nginx_install_dir/sbin/nginx -s reload
             if [ $(netstat -lutnp|grep 80|wc -l) -eq 1 ]
               then
                 action "nginx success..."  /bin/true
             else
                 echo "nginx error!"
             fi
         fi
        }
    install_mysql(){
      yum install -y ncurses-devel automake autoconf bison libtool-ltdl-devel
      [ -e $dir ] && cd $dir
      if [ -f $mysql_name ]
        then
          yum install cmake -y
          tar zxvf $mysql_name
          if [ ! -d $mysql_install_dir ]
            then
              mkdir -p $mysql_install_dir
          fi
          groupadd mysql
          useradd -s /sbin/nologin -g mysql -M mysql
          mkdir -p /lnmp/mysql-5.6.41/data
          cd $dir/mysql-5.6.41
          cmake -DCMAKE_INSTALL_PREFIX=/lnmp/mysql-5.6.41 -DMYSQL_DATADIR=/lnmp/mysql-5.6.41/data -DMYSQL_UNIX_ADDR=/lnmp/mysql-5.6.41/tmp/mysql.sock -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_ZLIB=bundled -DWITH_SSL=bundled -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DENABLE_DOWNLOADS=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DMYSQL_TCP_PORT=3306 -DWITH_DEBUG=0      
          make && make install
          ln -s /lnmp/mysql-5.6.41/ /lnmp/mysql
          /lnmp/mysql-5.6.41/scripts/mysql_install_db --user=mysql --basedir=/lnmp/mysql-5.6.41 --datadir=/lnmp/mysql-5.6.41/data --user=mysql
          #授权
          chown -R mysql:mysql /lnmp/mysql-5.6.41/
          #创建目录,默认不会创建,但是启动会报错
          mkdir /lnmp/mysql/tmp
          [ $(echo $?) -eq 0 ] && cp -f /lnmp/mysql-5.6.41/support-files/my*.cnf /etc/my.cnf
          cp /lnmp/mysql-5.6.41/support-files/mysql.server /etc/init.d/mysqld
          # 加权限
          chmod +x /etc/init.d/mysqld
        # 自启
          chkconfig --add mysqld
          chkconfig mysqld on
          # 加环境
          PATH=$PATH:/lnmp/mysql-5.6.41/bin/
          #添加环境
          echo "export PATH=$PATH:/lnmp/mysql/bin/" >>/etc/profile
          source /etc/profile
      fi   
    }
    #启动函数
    start_mysql(){
          /etc/init.d/mysqld start   
          if [ $(netstat -lutnp|grep 3306|wc -l) -eq 1 ]
            then
              action "mysql success"  /bin/true
          else
              echo "mysql error!"
          fi
    }
    
    # 安装php
    install_php(){
            yum install zlib-devel openssl-devel openssl libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel libmcrypt-devel mcrypt mhash -y
          [ -e $dir ] && cd $dir
          if [ -f $php_name ]
            then
              tar zxf $php_name  && cd php-7.2.8
    
              echo "Please witing loding................................................................"
           #编译安装
            ./configure --prefix=/lnmp/php7.2.8 --with-mysql=/lnmp/mysql --with-iconv-dir=/usr/local/libiconv  --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --enable-gd-native-ttf --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc  --enable-zip --enable-soap --enable-short-tags --enable-zend-multibyte --enable-static --with-xsl --with-fpm-user=nginx --with-fpm-group=nginx --enable-ftp       
            [ $(echo $?) -eq 0 ] && ln -s /lnmp/mysql/lib/libmysqlclient.so.18 /usr/lib64/ && touch ext/phar/phar.phar
              make >> /dev/null 2>&1
              make install
               ln -s /lnmp/php7.2.8 /lnmp/php
                 cp ./php.ini-production /lnmp/php/lib/php.ini
              cp /lnmp/php/etc/php-fpm.conf.default /lnmp/php/etc/php-fpm.conf
              cp /lnmp/php/etc/php-fpm.d/www.conf.default /lnmp/php/etc/php-fpm.d/www.conf
              cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm    
              #授予权限最好是700
              chmod +x /etc/init.d/php-fpm  
              PATH=$PATH:/lnmp/php/bin/
              echo "export PATH=$PATH:/lnmp/php/bin/" >>/etc/profile
              source /etc/profile
              chkconfig --add php-fpm
              chkconfig php-fpm  on
    fi
    }
    
    # 启动函数
    start_phpfpm(){
      /etc/init.d/php-fpm start
      if [ $(netstat -lutnp|grep 9000|wc -l) -eq 1 ]
        then
          action "php-fpm success" /bin/true
      else
          echo "php-fpm error"
      fi
    
    }
    
    main(){
       install_nginx
       sleep 3
       install_mysql
       sleep 3
       install_php
       start_nginx
       sleep 2
       start_mysql
       sleep 2
       start_phpfpm
    }
    main

     环境搭建为lnmp 

    #by:kingle #
    #use: fast lnmp #
    #version:1.0 #
    #php:php-7.2.8 #
    #nginx: 1.15.1 #
    #mysql:5.6.41 #
    #cenos: 2.6.32-754.2.1.el6.x86_64

    安装包需要自行下载,官网下载最好,下载完毕自己更改路径,这个脚本为最垃圾的脚本,纯小白编写,有兴趣可以一起讨论,编写内容很简单,因为完全贴合自己系统编写。

  • 相关阅读:
    svn 提交时强制注释、不允许指定的文件类型的钩子写法
    开源跨平台网络库(lxnet)
    关于android studio的配置记录
    一般处理程序(ashx)对session处理摘要
    利用反射代替switch -转
    c#+jquery.autocomplete.js
    C#+ajaxupload实现图片上传
    几种常见SQL分页方式效率比较-转
    js页面跳转
    C#编码规范-转
  • 原文地址:https://www.cnblogs.com/kingle-study/p/9385341.html
Copyright © 2011-2022 走看看