首页 > 其他 > 详细

NGINX虚拟主机脚本

时间:2019-04-30 17:43:57      阅读:106      评论:0      收藏:0      [点我收藏+]
#!/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 "\ninclude domains/*;\n}">>$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/\033[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 "\033[32mThe $VHOSTS has been config,please exit.\033[0m"
fi
}

if [ -z $1 ];then
    echo -e "\033[32m------------\033[0m"
    echo -e "\033[32mPlease enter sh $0 xx.ale.com\033[0m"
    exit 0
fi

NGINX_INSTALL
NGINX_CONFIG $1

 

NGINX虚拟主机脚本

原文:https://www.cnblogs.com/legenidongma/p/10796996.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!