[클라우드 With리눅스/Virtual Hosting]

SooYeon Yeon·2022년 7월 27일

vHosting이란?

가상 호스팅 (Virtual Hosting)은 하나의 서버(또는 서버 풀)에 여러개의 도메인 이름을 호스팅하는 방식

서버는 메모리, 프로세서 사이클 등 자신의 자원을 공유할 수 있고, 동일한 호스트명을 사용하기 위해 제공되는 모든 서비스가 필요하지 않음

일반적인 웹서버는 왼쪽 표와 같이 도메인에 각각의 IP가 할당되는데, 가상 호스팅을 사용하면 오른쪽과 같이 도메인은 다르지만 하나의 서버로 사용할 수 있다.

도메인IP
sooyeon1.com111.111.111.111
sooyeon2.com222.222.222.222
도메인IP
sooyeon1.com111.111.111.111
sooyeon2.com111.111.111.111

가상 호스팅이 필요한 이유

  1. 성능
    • 여러 웹사이트의 하드웨어 리소스를 관리하는 웹 호스팅 회사는 구매력이 더 클 수 밖에 없음
    • 회사는 최첨단 기술에 투자해 처리 능력, 내장 메모리 및 기타 컴퓨팅 리소스를 갖춘 고성능 웹 서버를 제공
    • 웹 사이트 성능이 향상되고 방문자가 페이지를 빠르게 로드 가능
  2. 신뢰성
    • 웹 호스팅 서비스 공급자는 서버를 지속적으로 유지 관리해야 한다는 것에 대해 스트레스를 해소해줄 수 있음
    • 높은 보안 표준을 유지하기 위해 정기적인 시스템 업그레이드
    • 고객은 IT 리소스를 확보해 서버 관리가 아니라 애플리케이션을 제공하는 집중 가능
  3. 기술 지원
    • 대부분 웹 호스팅 서비스는 성능 문제 해결을 위한 포괄적 지원 제공
    • 웹사이트 모니터링 및 분석, 데이터 백업 및 복구, 기타 유사한 기능 간소화
  4. 보안 및 규정 준수
    • 모든 규정 준수 요구사항을 충족하는 물리적 수단, 운영 상의 조치 및 소프트웨어를 포함한 엔드 투 엔드 접근 방식을 사용해 인프라 보호

리눅스에서 가상 호스팅 구성하기

목표

  • vhosting을 사용하여 sooyeon1 site와 sooyeon2 site에 접속했을 때 각각 다른 웹 페이지가 출력 되도록 하기

실습 환경

  • 리눅스 CentOS7
  • 접속 PC : Window
  • URL : sooyeon1.test.com
  • URL : sooyeon2.test.com
  1. v hosting 설정을 위해 /etc/httpd/conf.d/vhost.conf 생성 & 편집

    vi /etc/httpd/conf.d/vhost.conf
    <VirtualHost *:80>
            ServerAdmin webmaster@test1.com
            ServerName test1.com
            ServerAlias sooyeon1.test.com
            DocumentRoot /var/www/html/sooyeon1.d/
            DirectoryIndex index.html
    </VirtualHost>
    <VirtualHost *:80>
            ServerAdmin webmaster@test2.com
            ServerName test2.com
            ServerAlias sooyeon2.test2.com
            DocumentRoot /var/www/html/sooyeon2.d/
            DirectoryIndex index.html
    </VirtualHost>
  2. vhost.conf 파일 접근 권한 설정

    sudo chmod a+x vhost.conf
  3. 구성파일 적용

    • httpd 데몬 실행 시 /etc/httpd/conf.d 이하 파일 로딩
    • 데몬 재시작하지 않고 설정 적용하게 함
    apachectl configtest
    apachectl graceful
  4. 웹서버 접속할 PC의 호스트 파일 변경

    Window의 호스트 파일 접근하기

    메모장 > 관리자 권한으로 열기

    Windows>System32>drivers>etc>hosts

- 호스트 파일에 4줄 추가

```bash
# 파일 내용 작성 후 저장
192.168.1.114 test1.com
192.168.1.114 sooyeon1.test1.com
192.168.1.114 test2.com
192.168.1.114 sooyeon2.test2.com
```
  1. PC에서 리눅스로 ping 테스트 하기

    ping 192.168.1.114

  1. sooyeon1의 index.html과 sooyeon2의 index.html 작성

    • /var/www/html에 디렉토리를 2개 만들고 각각 index.html파일을 만든다.
    vi /var/www/html/sooyeon1.d/index.html
    vi /var/www/html/sooyeon2.d/index.html
  2. DocumentRoot 디렉토리 접근권한 설정

    chmod a+x /var/www/html/sooyeon1.d/ -R
    chmod a+x /var/www/html/sooyeon2.d/ -R
  3. PC에서 웹 브라우저 접속 확인

0개의 댓글