상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 웹서버구축을 위한 파일 시스템 구조는 어떻게 설정하나요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
웹 서버를 구축할 때 가장 먼저 고민해야 할 것은 운영 체제 차원의 표준 디렉터리 구조와 실제 서비스 파일을 나눠 관리하는 방식입니다. 이를 통해 보안과 유지보수, 배포 자동화가 한결 수월해집니다. 아래에는 대표적인 리눅스 환경(예: Ubuntu, CentOS)에서 적용할 수 있는 예를 중심으로 설명합니다. 1. 시스템 레벨 디렉터리 활용 운영 체제는 이미 `/etc`, `/var`, `/usr` 같은 표준 디렉터리를 제공합니다. 웹 서버의 설정 파일은 `/etc` 아래에 둡니다. 예컨대 Nginx라면 `/etc/nginx/` 안에 메인 설정 파일(nginx.conf)과 `sites-available`, `sites-enabled` 디렉터리를 두고, Apache라면 `/etc/httpd/` 또는 `/etc/apache2/` 아래에 모듈 설정, 가상 호스트 설정을 분리합니다. 로그는 `/var/log/nginx/` 혹은 `/var/log/apache2/`에 저장하고, 정적 캐시나 세션 파일은 `/var/cache/nginx/` 혹은 `/var/lib/php/` 같은 표준 캐시 디렉터리를 이용합니다. 2. 서비스별 루트 디렉터리 결정 실제 웹 콘텐츠(HTML, CSS, JS, 이미지, 동적 스크립트)는 보통 `/var/www/` 또는 `/srv/www/` 아래 도메인별로 분리해 둡니다. 예를 들어 example.com 서비스를 운영할 경우 `/var/www/example.com/`을 루트로 잡고, 그 아래에 다음과 같은 하위 디렉터리를 배치합니다. - public/ : 외부에 노출되는 정적 파일과 진입점(index.php, index.html 등)을 둔다. - private/ : 내부 라이브러리, 설정 파일, 로그 파일 일부(애플리케이션 레벨) 등을 저장한다. - logs/ : 애플리케이션 자체 로그나 오류 로그를 남긴다. 시스템 로그와 분리해 추후 분석에 용이하게 관리한다. - backups/ : 데이터베이스 덤프나 코드 스냅샷을 보관하되, 장기 보관은 별도의 백업 서버 또는 S3 같은 오브젝트 스토리지로 이관한다. 3. 배포 및 버전 관리 전략 실제 운영 중인 코드는 `/var/www/example.com/current`라는 심볼릭 링크를 통해 가리키고, 배포 시 새로운 디렉터리(예: `/var/www/example.com/releases/20230912_1500/`)를 만들고 코드를 풀어 넣은 뒤 `current` 링크만 교체하는 방식을 권장합니다. 롤백이 필요할 때는 이전 릴리스 디렉터리로 링크를 되돌리면 돼 다운타임과 리스크를 최소화할 수 있습니다. 4. 권한 관리와 보안 웹 서버 프로세스(nginx, apache)는 일반적으로 `www-data`나 `apache` 같은 별도 계정으로 동작시킵니다. 콘텐츠 디렉터리에는 소유자를 배포용 계정(예: git user)과 웹 서버 그룹(www-data)을 교차 소유자로 설정하고, 디렉터리는 750, 파일은 640 권한을 주어 불필요한 읽기/쓰기 접근을 차단합니다. PHP나 기타 스크립트가 파일을 업로드하거나 임시 파일을 생성해야 한다면 `/var/www/example.com/uploads` 같은 전용 디렉터리에만 쓰기 권한을 부여합니다. 5. SSL 인증서 및 키 관리 SSL 인증서는 보안상 `/etc/ssl/private/` (루트 권한 전용) 아래에 두고, 웹 서버 설정에서 절대 경로를 참조하도록 합니다. 인증서 갱신(예: Let’s Encrypt)의 경우 `/etc/letsencrypt/live/example.com/` 아래 심볼릭 링크가 자동으로 관리되니, 웹 서버 설정 파일에는 해당 경로를 그대로 지정하면 갱신 시 별도 수정이 필요 없습니다. 6. 운영·모니터링·백업 연동 파일 시스템 구조가 정해지면 P<a href='https://sangseek.com/sangseeks/rometheus/ko'>rometheus</a>, Elastic Stack, Grafana 같은 모니터링 도구에서 디렉터리 용량, I/O 상태, 로그 변화량을 손쉽게 수집·시각화할 수 있습니다. 또한 <a href='https://sangseek.com/sangseeks/주기적 백업/ko'>주기적 백업</a> 스케줄러(cron, systemd timer)를 이용해 `/var/www/example.com/backups`의 데이터베이스 덤프·파일 백업을 외부 저장소로 전송함으로써 재해 복구 시나리오를 완성할 수 있습니다. 이처럼 시스템 표준 디렉터리를 존중하되, 서비스 단위로 격리된 루트 디렉터리(`/var/www/도메인명/`)를 구성하고 배포·버전 관리, 권한 분리, SSL·모니터링·백업 전략을 유기적으로 엮으면 안정적이고 확장성 있는 웹 서버 파일 시스템 구조를 만들 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기