# 설정파일 생성

$ cd /etc/nginx/sites-available

 

$ sudo vi service-url.inc

set $service_url http://target-server-all;

 

$ sudo vi myapp

upstream target-server-all {   
   server 127.0.0.1:8080;
   server 127.0.0.1:8081;
}

upstream target-server-close1 {
   #server 127.0.0.1:8080;
   server 127.0.0.1:8081;
}

upstream target-server-close2 {
   server 127.0.0.1:8080;
   #server 127.0.0.1:8081;
}

server {
        listen 443;
        server_name domain.co.kr;
        
        include /etc/nginx/sites-available/service-url.inc; # 설정파일 include
		
        location / {
                proxy_redirect  off;
                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Scheme $scheme;
                #proxy_pass http://target-server;
                proxy_pass $service_url;  # 설정파일 내 설정값
        }
}

 

# 1번서버 close

$ echo "set \$service_url http://target-server-close1;" | sudo tee /etc/nginx/sites-available/service-url.inc

 

# 2번서버 close

$ echo "set \$service_url http://target-server-close2;" | sudo tee /etc/nginx/sites-available/service-url.inc

 

# 전체 서버 오픈

$ echo "set \$service_url http://target-server-all;" | sudo tee /etc/nginx/sites-available/service-url.inc

 

mvn clean install

cp ./target/project-1.0.0.war ./target/ROOT.war 

#-------------------------------------------------------------------------------------------

sleep 1

ssh -o StrictHostKeyChecking=no -p 3022 user@10.10.10.10  << 'ENDSSH'

echo 'password' | sudo -S su

echo "set \$service_url http://target-server-close1;" | sudo tee /etc/nginx/sites-available/service-url.inc

sleep 1

sudo nginx -s reload

ENDSSH

#-------------------------------------------------------------------------------------------

sleep 5

scp -P 3122 ./target/ROOT.war user@10.10.10.10:/usr/local/tomcat9/webapps

sleep 1

ssh -p 3122 user@10.10.10.10 "

/home/user/shell/tomcat_restart.sh

"

#-------------------------------------------------------------------------------------------

sleep 60

ssh -o StrictHostKeyChecking=no -p 3022 user@10.10.10.10  << 'ENDSSH'

echo 'password' | sudo -S su

echo "set \$service_url http://target-server-close2;" | sudo tee /etc/nginx/sites-available/service-url.inc

sleep 1

sudo nginx -s reload

ENDSSH

#-------------------------------------------------------------------------------------------

sleep 5

scp -P 3222 ./target/ROOT.war user@10.10.10.10:/usr/local/tomcat9/webapps

sleep 1

ssh -p 3222 user@10.10.10.10 "

/home/user/shell/tomcat_restart.sh

"

#-------------------------------------------------------------------------------------------

sleep 60

ssh -o StrictHostKeyChecking=no -p 3022 user@10.10.10.10  << 'ENDSSH'

echo 'password' | sudo -S su

echo "set \$service_url http://target-server-all;" | sudo tee /etc/nginx/sites-available/service-url.inc

sleep 1

sudo nginx -s reload

ENDSSH

 

 

'Infra Structure > Nginx' 카테고리의 다른 글

[Linux] Nginx offline 설치  (1) 2022.10.24
[Nginx] TCP/UDP reverse proxy  (0) 2022.10.21
[Nginx] SSL 적용  (0) 2022.07.11
[Nginx] docker로 Nginx 설치  (0) 2022.07.03
[Nginx] Load Balancing 설정하기  (0) 2022.06.01

+ Recent posts