#!/bin/bash
#2021年3月10日22:07:13
#auto config nginx virtual hosts
#by author www.jfedu.net
########################
NGX_VHOSTS=""
NGX_VER="1.18.0"
NGX_CNF="nginx.conf"
NGX_YUM="yum install -y"
NGX_DIR="/usr/local/nginx"
NGX_SOFT="nginx-${NGX_VER}.tar.gz"
NGX_URL="http://nginx.org/download"
NGX_SRC=$(echo $NGX_SOFT|sed 's/.tar.*//g')
NGX_ARGS="--user=www --group=www --with-http_stub_status_module"

function install_nginx(){
if [ ! -f $NGX_DIR/sbin/nginx ];then
#Install Nginx WEB
$NGX_YUM wget gzip tar make gcc
$NGX_YUM pcre pcre-devel zlib-devel
wget -c $NGX_URL/$NGX_SOFT -P /usr/src/
cd /usr/src/
ls -l $NGX_SOFT
tar -xzvf $NGX_SOFT
cd $NGX_SRC/
useradd -s /sbin/nologin www -M
./configure --prefix=$NGX_DIR/ $NGX_ARGS
make -j4
make -j4 install
ls -l $NGX_DIR/
$NGX_DIR/sbin/nginx
ps -ef|grep -aiwE nginx
netstat -tnlp|grep -aiwE 80
setenforce 0
systemctl stop firewalld.service
fi
}

function add_vhosts(){
#Config Nginx virtual hosts
cd $NGX_DIR/conf/
grep -aiE "include vhosts" $NGX_CNF
if [ $? -ne 0 ];then
\cp $NGX_CNF $NGX_CNF.bak
sed -i -e '/#/d' -e '/^$/d' $NGX_CNF
sed -i '/server/,$d' $NGX_CNF
echo -e " include vhosts/;\n}" >>$NGX_CNF
mkdir -p vhosts
fi
cd vhosts
for NGX_VHOSTS in $

do
cat>$NGX_VHOSTS<<-EOF
server {
listen 80;
server_name $NGX_VHOSTS;
location / {
root html/$NGX_VHOSTS;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
EOF
cat $NGX_VHOSTS
echo -e "\033[32m-------------------\033[0m"
echo -e "\033[32mThe $NGX_VHOSTS add success.\033[0m"
mkdir -p $NGX_DIR/html/$NGX_VHOSTS/
cat>$NGX_DIR/html/$NGX_VHOSTS/index.html<<-EOF
<h1>$NGX_VHOSTS Test Pages.</h1>
<hr color=red>
EOF
$NGX_DIR/sbin/nginx -t
$NGX_DIR/sbin/nginx -s reload
done
}

function remove_vhosts(){
#Delete Nginx virtual hosts
cd $NGX_DIR/conf/vhosts/
for NGX_VHOSTS in $*
do
ls -l $NGX_VHOSTS
cat $NGX_VHOSTS
rm -rf $NGX_VHOSTS
rm -rf $NGX_DIR/html/$NGX_VHOSTS/
echo -e "\033[32m-------------------\033[0m"
echo -e "\033[32mThe $NGX_VHOSTS remove success.\033[0m"
$NGX_DIR/sbin/nginx -t
$NGX_DIR/sbin/nginx -s reload
done
}

case $1 in
-i|-I)
install_nginx
;;
-a|-A)
shift 1
add_vhosts $
;;
-d|-D)
remove_vhosts $

;;

  • )
    echo -e "\033[32m-------------------\033[0m"
    echo -e "\033[32m1)-I 1.12.0|1.18.0,Install Nginx WEB.\033[0m"
    echo -e "\033[32m2)-A v1.jf.com|v2.jf.com,Add virtual hosts\033[0m"
    echo -e "\033[32m3)-D v1.jf.com|v2.jf.com,Delete virtual hosts\033[0m"
    exit 1
    esac
©著作权归作者所有:来自51CTO博客作者zhang25yun的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 佳能iC MF4712怎么使用按键【扫描到计算机】
  2. Linux网络ip设置
  3. LINUX入门学习方向 和工具
  4. leetcode331 验证二叉树的前序序列化 golang
  5. GoCenter 助力 Golang 全速前进
  6. 手撸golang GO与微服务 Saga模式之2
  7. 微博代发外推
  8. 外推代发首页
  9. 找高手百度广告外推收录代发

随机推荐

  1. 理解算法的时间复杂度[每日前端夜话0x82]
  2. 高效编写Dockerfile的几条准则
  3. Svelte 3 快速开发指南(对比React与vue)[
  4. React 的未来,与 Suspense 同行[每日前端
  5. Docker Swarm的前世今生
  6. 用Vue.js在浏览器中裁剪图像[每日前端夜
  7. 操作系统分配存储时网络无法正常连接
  8. SpringBoot 中 @SpringBootApplication注
  9. Windows系统设置多用户同时远程登录
  10. 云原生 DevOps 的 5 步升级路径