# 설정파일 생성
$ 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 |