← 전체 목록
서버백업운영

설정 변경 전 백업과 테스트로 서버 다운타임을 최소화합니다

ℹ️ 본 글은 정보 제공 목적이며, 광고·제휴 링크가 포함될 수 있습니다.

서버 다운타임 최소화 운영 전략이 필요하다는 걸 뼈저리게 느낀 건 Nginx 설정을 수정하다가 세미콜론 하나를 빠뜨려서 nginx -t 테스트를 건너뛰고 reload 했더니 Nginx가 완전히 다운됐을 때입니다. 그날은 오전 진료 시간에 예약 시스템이 30분 동안 멈췄습니다. 이후 설정 변경에는 반드시 따르는 체크리스트를 만들었습니다.

설정 변경 전 백업

# Nginx 설정 백업
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak.$(date +%Y%m%d)
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak.$(date +%Y%m%d)

# PHP-FPM 설정 백업
sudo cp /etc/php/8.1/fpm/pool.d/www.conf /etc/php/8.1/fpm/pool.d/www.conf.bak.$(date +%Y%m%d)

# MySQL 설정 백업
sudo cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf.bak.$(date +%Y%m%d)

설정 변경 후 반드시 테스트

# Nginx 문법 테스트 (reload 전 필수)
sudo nginx -t
# "syntax is ok" + "test is successful" 나와야 reload 가능

# PHP-FPM 설정 테스트
sudo php-fpm8.1 -t

# MySQL 설정 테스트
sudo mysqld --verbose --help 2>&1 | head -5

# 모든 테스트 통과 후에만 재시작
sudo systemctl reload nginx
sudo systemctl reload php8.1-fpm

점진적 변경과 롤백 준비

# 설정 변경 후 30초간 모니터링
sudo systemctl reload nginx && \
    sleep 5 && \
    curl -s -o /dev/null -w "%{http_code}" https://병원사이트.com

# HTTP 200이 아니면 즉시 롤백
sudo cp /etc/nginx/nginx.conf.bak.20260525 /etc/nginx/nginx.conf
sudo systemctl reload nginx

# 워드프레스 업데이트 전 DB 백업
mysqldump --defaults-file=/root/.my.cnf hospital_wp | gzip > /tmp/pre-update-backup.sql.gz

설정 변경 3원칙: 백업 → 테스트 → 반영. nginx -t를 건너뛰는 일은 없어야 합니다. 변경 후 모니터링 시간도 최소 5분은 확보하고, 롤백 명령어를 미리 준비해두는 습관이 다운타임을 극적으로 줄입니다.

편집 정책

AI가 초안을 생성하고, 의료기관 인프라 운영자가 1차 데이터 기반으로 최종 검수·승인합니다.

작성·검수: WavePix 운영자 (의료기관 3곳 인프라 전담)