nginx 부하 균형 - 오프라인 (온라인) 모 기계 스 크 립 트

회사 사이트 의 구 조 는 nginx 를 통 해 부하 균형 을 이 루 었 습 니 다. 예전 에는 상하 선 이 설정 파일 을 수 동 으로 변경 한 다음 에 reload nginx 방식 으로 이 루어 졌 습 니 다!이런 방식 은 효율 이 그다지 높 지 않 습 니 다. 여기 서 스스로 셸 스 크 립 트 를 써 서 여러분 에 게 참고 하도록 제공 합 니 다.
#!/bin/bash
CONF="nginx.conf"
HOST=${1:?'  ,          ip,  :192.168.144.41'}
TestHost=`cat filelist |grep "\"|wc -l`
if [ $TestHost -eq 0 ];then
    echo "    ip  ,   !!"
    exit 1
fi
echo "====================================="
echo -e "1)      
2)
3) " echo "=====================================" read -p " :" a backupfile="nginx.conf.`date +%Y-%m-%d-%H-%M-%S`" cp $CONF $backupfile TestONline=`sed -n '/^#.*'"$HOST"'/p' $CONF|wc -l` TestHost=`cat filelist |grep "\"|wc -l` #ONline=`sed -i '/'"$HOST"'/s/^#//g' $CONF` #OFFline=`sed -i '/'"$HOST"'/s/^/#/g' $CONF` ONLINE(){ ONline=`sed -i '/'"$HOST"'/s/#//g' $CONF` if [ "$TestHost" -eq 0 ];then echo " ip , !" exit 1 else if [ $TestONline -eq 0 ];then echo " ip , !!!" exit 1 else read -p " $HOST ?(y/n)" cmd case $cmd in y|Y) $ONline echo -e "\033[32m \033[05m $HOST !! \033[0m" ;; n|N) exit 1 ;; *) echo " y n, !!" ;; esac fi fi } OFFLINE() { OFFline=`sed -i '/'"$HOST"'/s/^/#/g' $CONF` if [ "$TestHost" -eq 0 ];then echo "sorry, ip , !" exit 1 else if [ $TestONline -eq 0 ];then read -p " $HOST ?(y/n)" CMD case $CMD in y|Y) $OFFline echo -e "\033[32m \033[05m $HOST !! \033[0m" ;; n|N) exit 1 ;; *) echo " y n, !!" exit 1 ;; esac else echo " !! !!" fi fi } case $a in 1) ONLINE ;; 2) OFFLINE ;; 3) exit 0 ;; esac

주의:
스 크 립 트 에서 filelist 는 수 동 으로 만들어 야 합 니 다.
유사:
cat filelist
10.0.0.1
10.0.0.2
10.0.0.3
또한 스 크 립 트 에 nginx 를 다시 불 러 오 는 동작 이 추가 되 지 않 았 습 니 다. 필요 하 다 면 직접 추가 할 수 있 습 니 다!!

좋은 웹페이지 즐겨찾기