피클웹 블로그

웹 호스팅, 웹 서버 관리 방법

2 시간 전 933

전문적인 호스팅 업체를 이용할 경우 데이터와 DB의 백업이 매일 새벽 시간에 자동으로 수행됩니다.
대개 7일 정도 보관하고 삭제하기에 데이터나 DB를 복구할 일이 있을 때 유용합니다.
이와는 별개로 바로 지금 데이터와 DB를 백업하여 다운로드하고자 할 때 SSH Shell과 FTP를 이용할 수 있습니다.

데이터 백업

많이 사용하는 리눅스(Linux) 서버의 경우 SSH Shell 접속 후 다음과 같은 명령어로 데이터와 DB를 백업합니다.

# 특정 디렉터리의 모든 파일을 tar 파일로 압축
 tar -cvf test.tar ./test_dir/*
 
# gzip을 사용하여 tar 파일을 압축
 tar -zcvf test.tar.gz ./test_dir/*
 
# 특정 디렉터리를 제외하고 tar 파일을 생성
 tar -zcvf test.tar.gz ./test_dir/* --exclude ./test_dir/exclude_dir

DB 백업

# 데이터베이스 전체를 백업
mysqldump -u user -p database > test.sql

# 특정 사용자 계정과 암호를 사용하여 데이터베이스 백업
mysqldump -u user -p password database > test.sql

FTP를 이용한 백업

FTP 클라이언트를 이용하여 서버의 데이터를 다운로드할 수도 있습니다.
FileZilla와 같은 프로그램을 사용하여 파일을 로컬 PC에 저장할 수 있습니다.

서버 용량 체크

서버의 저장 공간을 효율적으로 관리하기 위해 디스크 사용량을 정기적으로 확인해야 합니다.
다음은 du 명령어를 활용한 용량 체크 방법입니다:

# 현재 디렉터리 내 모든 파일과 폴더의 용량 확인
du -sh *

# 특정 디렉터리의 용량 확인
du -sh /var/log

# 사용자 디렉터리의 세부 용량 확인
du -ah --max-depth=1 /home/user

파일 용량을 큰 순서대로 확인

서버에서 가장 용량이 큰 파일을 찾아 정리하는 것은 저장 공간을 확보하는 중요한 작업입니다.
다음 명령어를 활용하여 파일을 용량 순으로 정렬할 수 있습니다:

# 가장 큰 20개의 파일 및 폴더 확인
du -ah /home/user | sort -rh | head -20

서버 운영 및 최적화

안정적인 서버 운영을 위해 다음과 같은 조치를 취해야 합니다:

  • 보안 관리: SSH 포트 변경, 방화벽 설정, 보안 업데이트 적용, fail2ban을 통한 공격 방어, FTP 및 DB 접속 IP 제한, SSL 인증서 적용
  • 성능 최적화: 캐싱을 활용한 웹사이트 속도 향상, 불필요한 프로세스 종료, 데이터베이스 최적화
  • 트래픽 및 모니터링: 웹 서버 로그 분석, CPU 및 메모리 사용률 모니터링, 부하 분산 및 CDN 활용