zoukankan      html  css  js  c++  java
  • NGINX虚拟主机脚本

    #!/bin/bash
    #auto install Nginx virtual Hosts
    #by author ale
    #2019-4-30 15:17:57
    
    #define variables
    NGINX_CONF="/usr/local/nginx/conf"
    NGINX_MAKE="--user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module"
    NGINX_SBIN="/usr/local/nginx/sbin/nginx"
    
    NGINX_INSTALL(){
    #Install Nginx server
    NGINX_FILE=nginx-1.12.2.tar.gz
    NGINX_DIR=`echo $NGINX_FILE|sed 's/.tar*.*//g'`
    if [ ! -e /usr/local/nginx -a ! -e /etc/nginx ];then
        pkill nginx
        wget -c http://nginx.org/download/$NGINX_FILE
        yum install pcre pcre-devel openssl openssl-devel -y
        rm -rf $NGINX_DIR;tar xzf $NGINX_FILE
        cd $NGINX_DIR;useradd www;./configure $NGINX_MAKE
        make &&make install
        grep -vE "#|^$" $NGINX_CONF/nginx.conf >$NGINX_CONF/nginx.conf.swp
        mv $NGINX_CONF/nginx.conf.swp $NGINX_CONF/nginx.conf
        sed -i '/server/,$d' $NGINX_CONF/nginx.conf
        #echo "}" >>$NGINX_CONF/nginx.conf
        cd ../
    fi
    }
    
    NGINX_CONFIG(){
    #config nginx vhosts
    grep "include domains" $NGINX_CONF/nginx.conf >>/dev/null 2>&1
    if [ $? -ne 0 ];then
        #sed -i '$d' $NGINX_CONF/nginx.conf
        echo -e "
    include domains/*;
    }">>$NGINX_CONF/nginx.conf
        mkdir -p $NGINX_CONF/domains/
    fi
    VHOSTS=$1
    ls $NGINX_CONF/domains/$VHOSTS >>/dev/null 2>&1
    if [ $? -ne 0 ];then
        #cp -r xxx.good.com $NGINX_CONF/domains/$VHOSTS
        #sed -i "s/xxx/$VHOSTS/g" $NGINX_CONF/domains/$VHOSTS
        cat>$NGINX_CONF/domains/$VHOSTS<<EOF
    #vhost server $VHOSTS 
        server {
            listen       80;
            server_name  $VHOSTS;
            location / {
                root   /data/www/$VHOSTS/;
                index  index.html index.htm;
            }
          }
    EOF
        mkdir -p /data/www/$VHOSTS/
        cat>/data/www/$VHOSTS/index.html<<EOF
        <html>
        <h1><center>The First Test Nginx page.</center></h1>
        <hr color="red">
        <h2><center>$VHOSTS</center></h2>
        </html>
    EOF
        echo -e "033[32mThe $VHOSTS Config success,you can to access http://$VHOSTS/33[0m"
        NUM=`ps -ef|grep nginx|grep -v grep|grep -v auto|wc -l`
        $NGINX_SBIN -t >>/dev/null 2>&1
        if [ $? -eq 0 -a $NUM -eq 0 ];then
            $NGINX_SBIN
        else
            $NGINX_SBIN -t >>/dev/null 2>&1
            if [ $? -eq 0 ];then
                $NGINX_SBIN -s reload
            fi
        fi
    else
        echo -e "33[32mThe $VHOSTS has been config,please exit.33[0m"
    fi
    }
    
    if [ -z $1 ];then
        echo -e "33[32m------------33[0m"
        echo -e "33[32mPlease enter sh $0 xx.ale.com33[0m"
        exit 0
    fi
    
    NGINX_INSTALL
    NGINX_CONFIG $1
  • 相关阅读:
    谈To B产品路径逻辑:To B产品的核心本质到底是什么?
    做产品应该遵循哪些宏观产品原则?
    做产品应该遵循哪些微观产品原则?
    B端产品的第一性原理思考
    美团点评王慧文:互联网有AB面,最惨烈战争发生在B2
    《罗振宇 知识就是力量》
    生活是一只龙虾
    CAD-美的热水器F50-32DQ
    CAD-椭圆和圆弧命令
    CAD-圆命令
  • 原文地址:https://www.cnblogs.com/legenidongma/p/10796996.html
Copyright © 2011-2022 走看看