Apache 또는 Nginx를 사용하여 하나의 서버 또는 IP에서 여러 도메인 호스트

여러 웹사이트를 호스팅하도록 Apache 및 Nginx를 구성하는 방법을 알아보겠습니다.

클라우드 서버의 호스팅 사이트는 공유 호스팅에 비해 훨씬 유연합니다. 원하는 대로 설치하고, 확장 또는 축소하고, 더 나은 성능과 비용 최적화를 위해 구성할 수 있습니다.

여러 비즈니스 사이트를 운영하고 있지만 별도로 호스팅하고 싶지 않은 경우 웹 서버에서 Virtual Server를 활용할 수 있습니다. 이 시나리오를 살펴보겠습니다.

하나의 클라우드 VM을 가리키고 싶은 다음 두 사이트가 있습니다.

구현하기 전에 어떻게 작동하는지 이해합시다.

단일 웹 서버 인스턴스에 여러 웹 사이트를 갖는 개념을 가상 서버라고 합니다. URL과 함께 구성 파일에 정의됩니다. 정의된 URL에 대한 요청이 있을 때 웹 서버는 해당 문서 루트의 트래픽을 제공합니다.

여러 도메인을 호스트하도록 Apache에서 가상 호스트 구성

  • Apache HTTP 서버에 로그인
  • Apache conf 위치로 이동합니다. (기본 설치 – /etc/httpd/conf/httpd.conf에서 찾을 수 있음)
  • httpd.conf 파일을 백업하십시오.
  • 두 도메인에 대해 수행한 아래와 같은 VirtualHost 컨테이너를 만듭니다.
<VirtualHost *:80>
ServerAdmin [email protected]
   DocumentRoot /opt/htdocs/lab
   ServerName lab.koreantech.org.com
   ErrorLog logs/lab.koreantech.org.com-error_log
   CustomLog logs/lab.koreantech.org.com-access_log common
</VirtualHost>

<VirtualHost *:80>
   ServerAdmin [email protected]
   DocumentRoot /opt/htdocs/gf-dev
   ServerName gf.dev
   ErrorLog logs/gf.dev-error_log
   CustomLog logs/gf.dev-access_log common
</VirtualHost>

참고: 요구 사항에 따라 ServerAdmin, DocumentRoot, ServerName, ErrorLog, CustomLog의 값을 변경하십시오.

  • Apache HTTP를 다시 시작하고 두 URL을 모두 테스트합니다.

여러 도메인을 호스트하도록 Nginx에서 가상 호스트 구성

  • Nginx 서버에 로그인
  • Nginx를 설치한 위치로 이동합니다. (기본 위치 – /etc/nginx/에서 찾을 수 있습니다.)

이를 달성하는 방법에는 여러 가지가 있습니다. nginx.conf 파일 또는 사용자 지정 파일이 있는 경우 수정할 수 있습니다. conf.d 폴더 아래에 custom.conf를 만들 수도 있습니다. 자신에게 맞는 것을 선택하고 기존 파일을 수정하는 경우 백업을 수행하십시오.

  • 아래 표시된 것처럼 두 URL에 대한 서버 블록을 만듭니다.
server {
listen 80;
   root /opt/htdocs/lab;
index index.html index.htm;
   server_name lab.koreantech.org.com;
   location / {
       try_files $uri $uri/ =404;
   }
}

server {
   listen 80;
   root /opt/htdocs/gf-dev;
   index index.html index.htm;
   server_name gf.dev;
   location / {
       try_files $uri $uri/ =404;
   }
}

참고: 요구 사항에 따라 root, server_name의 값을 변경하십시오.

  • Nginx를 다시 시작하고 두 URL을 모두 테스트합니다.
  IPv4와 IPv6의 차이점은 무엇입니까?

서버 IP에 매핑되도록 URL의 DNS 레코드를 업데이트하는 것을 잊지 마십시오. 완료되면 위의 구성을 통해 제공되는 URL에 액세스할 수 있어야 합니다.

결론

이것은 Apache 또는 Nginx와 같은 단일 웹 서버 인스턴스에서 여러 도메인을 호스팅하는 빠른 가이드였습니다. 웹사이트가 가동되면 보안 취약성에 대해 테스트하는 것을 잊지 마십시오.

기사를 재미있게 읽으셨나요? 세계와 공유하는 것은 어떻습니까?