技术改变生活

博客园 首页 新随笔 联系 订阅 管理

nginx批量分发脚本编写

[root@x112 vhost]# vim vhost.sh
#!/bin/bash
#describtion for install nginx virtualhost

ListenPort=81
Num=1
ServerName=abc
Count=$1
Path=/usr/local/nginx/
DocumentRoot=${Path}html/abc

if [ ! -d  "${Path}conf/vhost"  ];then
mkdir $Path/conf/vhost
fi

grep  'include vhost/\*.conf' /usr/local/nginx/conf/nginx.conf
if [ $? -ne 0 ];then
sed -i_bak '/include       mime.types/a\include vhost/*.conf' $Path/conf/nginx.conf
fi


Dir_conf=`ls ${Path}conf/vhost/`
if [[ "$Dir_conf" =~ $ServerName[0-9]+.conf ]];then
        rm -rf ${Path}conf/vhost/$ServerName*.conf
fi

for i in `seq $Count`
do
        cat <<-eof >$Path/conf/vhost/$ServerName$Num.conf 
        server {
        listen $ListenPort;
        server_name www.$ServerName$Num.com;
        charset utf-8;
        location / {
                root $DocumentRoot$Num;
                index index.html index.htm;
        #       proxy_pass http://webserver;
                }
        }
        eof
        ListenPort=$[ListenPort+1]
        Num=$[Num+1]
done

Num=1
Dir_html=`ls  ${Path}html`
if [[ "$Dir_html" =~ ${ServerName}[0-9]+ ]];then
        rm -rf ${DocumentRoot}*
fi

for i in `seq $Count`
do
        if [ ! -d "$DocumentRoot$Num" ];then
        mkdir $DocumentRoot$Num
        fi
        cat <<-eof >$DocumentRoot$Num/index.html
        <h1>Welcome to mysite $ServerName$Num</h1>
        <hr>
        eof
        Num=$[Num+1]
done
${Path}sbin/nginx -t
${Path}sbin/nginx -s reload 

运行测试:

[root@x112 vhost]# sh -vx vhost.sh 5

 

  

posted on 2020-09-07 14:46  小阿峰  阅读(132)  评论(0编辑  收藏  举报