50% 할인 모든 계획, 제한된 시간. 시작 시간 $2.48/mo
13분 남음
웹 및 비즈니스 앱

단일 서버에서 여러 웹사이트 호스팅(Apache 및 IIS)🌐

릴리 카넬 By 릴리 카넬 13분 읽기 2023년 9월 18일에 업데이트됨
단일 서버에서 여러 웹사이트 호스팅(Apache 및 IIS)🌐

온라인 호스팅에 액세스하면 하나의 서버에서 여러 웹사이트를 호스팅하는 방법을 알고 싶을 것입니다. 복잡해 보일 수도 있지만 이 주제에 대해 더 많이 알게 되면 기술 가이드의 도움을 받아 이 작업을 수행할 수 있다는 것을 알게 될 것입니다.

다양한 웹 서버는 전 세계적으로 널리 사용되는 무료 오픈 소스 서비스를 제공할 수 있습니다. 그러나 하나의 서버에서 여러 웹사이트를 호스팅하는 방법을 설명하기 전에 웹 서버가 무엇인지, 어떻게 작동하는지 알아야 합니다.

웹 서버란 무엇입니까?

웹 서버는 웹 사이트에 필요한 텍스트, 이미지, 비디오, 애플리케이션 데이터 등의 콘텐츠를 저장하고 제공합니다. 즉, 이러한 콘텐츠를 요청하는 클라이언트는 웹 서버의 도움을 받아 해당 콘텐츠를 사용할 수 있습니다. 가장 일반적인 클라이언트 중 하나는 사용자가 링크를 클릭하거나 파일을 다운로드할 때 웹 사이트에서 데이터를 요청하는 웹 브라우저 프로그램입니다.

웹 서버는 다음을 통해 통신합니다. HTTP(하이퍼텍스트 전송 프로토콜) 웹 브라우저로. 대부분의 웹페이지 콘텐츠는 HTML(Hypertext Markup Language)로 인코딩됩니다. 콘텐츠는 텍스트 및 이미지와 같은 정적이거나 고객이 구매 표시한 항목 목록과 같은 동적입니다. 대부분의 웹 서버 지원 서버 측 스크립팅 비즈니스 로직을 커뮤니케이션에 인코딩하여 동적 콘텐츠를 제공하는 언어입니다. 일반적으로 ASP(Active Server Pages), JavaScript, PHP, Python 및 Ruby와 같은 언어가 지원됩니다.

웹 서버는 어떻게 작동합니까?

웹 서버는 다음을 기반으로 작동합니다. 클라이언트-서버 모델. 이 표준 구조에서는 고객 리소스나 서비스를 요청합니다. 섬기는 사람.

웹 서버는 웹 클라이언트의 요청을 처리하기 위해 몇 가지 단계를 거칩니다.

  1. 사용자가 웹사이트에 콘텐츠를 로드하려고 하면 웹 브라우저가 액세스(HTTP 요청) 인터넷을 통해.
  2. 웹 브라우저는 요청한 웹사이트의 IP 주소를 검색합니다. 이는 다음을 사용하여 웹페이지의 URL을 번역합니다. 도메인 이름 시스템(DNS) 또는 캐시를 통해 검색합니다. 이 프로세스는 웹 서버를 찾는 데 도움이 됩니다. 사이트의 파일이 호스팅되는 곳입니다.
  3. 이 시점에서 웹 서버는 HTTP 요청을 수신하고 이를 통해 처리합니다. HTTP 서버.
  4. HTTP 서버가 요청을 수락하면 서버 파일을 검색하여 관련 데이터를 얻습니다.
  5. 웹 서버는 요청을 보낸 브라우저에 사이트 파일을 반환합니다. 그 후 사용자는 웹사이트 콘텐츠를 보게 됩니다.

그러나 HTTP 서버가 요청한 파일을 찾거나 처리하지 못하면 웹 브라우저에 오류 메시지가 표시됩니다. 이제 웹 서버의 주요 개념에 익숙해졌으므로 하나의 서버에서 여러 웹 서버를 호스팅하는 방법도 쉽게 배울 수 있습니다. 

하나의 서버에서 여러 웹사이트 호스팅: Apache

서버에서 두 개 이상의 사이트를 호스팅하려면 Apache의 가상 호스트 파일을 사용하여 사용해야 할 도메인을 언급해야 합니다. 사이트 요청을 해결하는 데 사용되는 방법 중 하나는 다음과 같습니다. 이름 기반 가상 호스트. 누군가 귀하의 사이트를 보면 요청이 서버로 이동하여 도메인 이름을 기반으로 어떤 사이트의 파일을 제공할지 결정합니다. 이 기술을 사용하면 동일한 IP를 사용하여 하나의 서버에서 여러 사이트를 호스팅할 수 있습니다. 이 가이드 문서에서는 각 도메인에 대해 가상 호스트 파일을 설정하는 방법을 설명합니다. 자세한 내용을 살펴보기 전에 루트 계정으로 로그인해야 한다는 점을 기억하세요.

또한 읽어보세요:Linux와 Windows 호스팅 중 어느 것이 더 적합합니까?

1단계: 각 사이트에 대한 디렉터리 생성

먼저 이 명령을 사용하여 apache2를 설치하십시오.

데비안 기반 시스템의 경우

apt install apache2 -y

CentOS 기반 시스템의 경우

yum install apache2 -y

호스팅할 각 사이트에 대한 디렉터리를 만들어야 합니다. (/var/www 폴더 내). 도메인 이름으로 domain.com 및 domain2.com을 고려하세요.

mkdir -p /var/www/domain.com/public_html
mkdir -p /var/www/domain2.com/public_html

2단계: 폴더 권한 설정

chmod -R 755 /var/www

3단계: 색인 페이지 설정

홈페이지를 보려면 다음 사항을 확인해야 합니다. index.html 도메인별로 파일이 생성됩니다. 다음과 같이 간단한 것을 설정할 수 있습니다. domain.com 테스트 이 파일에.

vim /var/www/domain.com/public_html/index.html

domain.com 테스트

이제 저장하고 사용을 종료해야 합니다. 탈출하다 버튼과 타이핑: wq

아래 명령을 사용하여 두 번째 도메인에 대해 이러한 모든 단계를 반복할 수 있습니다.

vim /var/www/domain2.com/public_html/index.html

4단계: 각 사이트의 구성 파일 복사

각 사이트의 기본 구성 파일을 복사하여 향후 사이트 생성을 위해 항상 기본 복사본을 유지해야 합니다.

cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain.com.conf
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain2.com.conf

5단계: 각 사이트의 구성 파일 편집

최소한 강조 표시된 줄을 변경하고 추가합니다. <가상호스트 *:80> 그리고 </VirtualHost> 태그.

참고하세요 서버 별칭 귀하의 도메인에 대한 대체 이름입니다. 이 경우와 대부분의 경우 도메인 이름 앞에 www를 입력하면 다른 사람들이 www 또는 www가 아닌 ​​이름으로 사이트를 볼 수 있습니다(서버 이름).

vim /etc/apache2/sites-available/domain.com.conf

사이트 정보
사이트 정보

다시 종료하고 다음을 사용하여 저장하십시오. wq. 이 과정을 반복해야 합니다. domain2.com.conf 파일; 반드시 업데이트하세요 서버 이름, 서버 별칭, 그리고 문서 루트 두 번째 도메인의 경우

또한 읽어보세요:아파치 대 NGINX

 6단계: 구성 파일 활성화

서버는 기본적으로 000-default.conf 파일을 읽도록 설정되어 있습니다. 그러나 이전 단계에서는 각 도메인에 대해 새 구성 파일을 만들었습니다. 따라서 기본 파일을 비활성화하고 새 구성 파일에 적합한 파일을 사용해야 합니다.

a2dissite 000-default.conf

새로 만든 각 .conf 파일을 활성화하여 서버를 도메인에 매핑할 수 있습니다.

a2ensite domain.com.conf
a2ensite domain2.com.conf

이제 Apache를 다시 시작하여 변경 사항을 등록해 보겠습니다.

systemctl restart apache2

7단계: Apache 구성 확인

Apache를 시작한 후 다음을 편집하여 구성이 작동하는지 확인할 수 있습니다. /etc/호스트 파일 컴퓨터에서 또는 도메인의 DNS.

각 측면이 설정된 후 브라우저에서 웹사이트를 방문하여 3단계에서 생성된 index.html 페이지를 볼 수 있습니다.

또한 읽어보세요: 온프레미스 vs. 클라우드

하나의 서버에서 여러 웹사이트 호스팅: IIS

우리는 수십, 수백 개의 웹사이트에 IIS(인터넷 정보 서비스) 웹 서버를 사용할 수 있습니다. 여러 웹사이트를 호스팅할 수 있으며, 동일한 내용을 듣고 응답할 수 있습니다. TCP 포트. 그러나 IIS 관리자의 인터페이스에는 8080과 같은 다른 포트에 바인딩하지 않고도 다른 웹 사이트를 호스팅할 수 있다고 표시됩니다. 이 섹션에서는 동일한 IIS 서버에서 여러 웹 사이트를 호스팅하고 이를 동일한 포트 및 IP 주소 또는 다른 IP 주소에 바인딩하는 방법을 설명합니다.

Windows 서버에 IIS를 설치하는 방법은 무엇입니까?

Windows에 IIS를 설치하면 빈 기본 웹 사이트가 생성되고 표준 웹 HTTP 포트 – TCP 80. 기술적인 측면에서 우리 사이트는 TCP/80 포트에 바인딩되어 있습니다. 이 사이트를 열려면 브라우저에 IIS 서버 이름(“http://web-srv1”) 또는 해당 IP 주소(“http://192.168.1.100”)를 입력해야 합니다.

1단계: IIS 웹사이트 바인딩 

Windows Server에서 실행되는 웹 IIS 서버는 여러 웹 사이트를 호스팅하는 데 도움이 될 수 있습니다. 그러나 IIS는 각 웹 사이트가 고유한 값으로 식별되어야 하는 경우에만 HTTP 요청을 올바르게 배포합니다. IIS 웹사이트에는 각 웹사이트의 고유한 조합을 구성하는 세 가지 특성이 포함되어 있습니다. 이러한 속성은 여기에 나열되어 있습니다.

  • TCP 포트 번호
  • IP 주소
  • 호스트 헤더(호스트 ​​이름)

호스팅된 웹사이트에 대한 정보는 서버바인딩 IIS 메타베이스의 속성이며 형식은 다음과 같습니다. IP:포트:호스트 이름. 따라서 하나의 서버(동일한 포트 및 IP 주소)에서 여러 웹사이트를 호스팅하려면 고유한 호스트 헤더.

호스트 헤더가 무엇인지 궁금하실 겁니다. 호스트 헤더는 주소가 지정된 웹 사이트를 지정하는 서버에 대한 HTTP 요청의 일부입니다. 따라서 웹서버 측에서 이 호스트 헤더를 언급해야 합니다. DNS에는 IIS 웹 서버의 호스트 이름 및 IP 주소와 일치하는 올바른 레코드가 있습니다.

이제 IIS 서버에서 실행되고 포트 80에서 수신 대기하는 웹 사이트가 있다고 가정해 보겠습니다. 두 번째 웹 사이트를 동일한 포트에 바인딩하려면 어떻게 해야 합니까?

2단계: 두 번째 IIS 웹사이트 바인딩

인터넷 정보 서비스(IIS) 관리자에서 웹 사이트 추가 창을 사용하여 다른 웹 사이트를 만들고 TestSite라고 불러야 합니다. 이 웹사이트는 C:\inetpub\TestSite에 있습니다. 아직 호스트 이름을 지정하지 않도록 주의하세요.

사이트 내용을 복사한 후 C:\inetpub\TestSite는 IIS(인터넷 정보 서비스) 관리자를 열고 서버의 호스트 이름에 사이트를 추가하여 마법사를 엽니다.

hostwebsites.png

새로운 사이트 추가-iis
웹사이트 추가 창

 

확인을 클릭하면 사용할 수 없다는 경고 메시지가 표시됩니다. 바인딩 *:80 이 두 웹사이트 모두에 대해.

웹사이트 추가

바인딩-80은 다른 사이트에 할당되었습니다
바인딩 확인

이 경고에 동의하면 다른 사이트가 포트 80에 바인딩됩니다. 따라서 첫 번째 웹 사이트를 중지하지 않고는 시작할 수 없습니다. 다음 이미지를 주목하면 이를 더 잘 이해할 수 있습니다.

4 웹사이트에 다른 바인딩 포트 할당
웹사이트에 다른 바인딩 포트 할당

Windows-원본-VPS 윈도우 VPS 호스팅

강력한 하드웨어, 최소 대기 시간, 원하는 무료 Windows를 갖춘 저렴한 Windows VPS 플랜을 확인해보세요!

무료 Windows를 신청하세요

호스트 헤더를 사용하여 IIS 서버에서 여러 웹사이트 호스팅

고유한 바인딩을 생성하려면 두 번째 IIS 웹 사이트에 대해 다른 이름(호스트 이름)을 선택해야 합니다. 이렇게 하려면 마우스 오른쪽 버튼을 클릭하세요. 테스트 사이트 그리고 선택 편집하다 바인딩. 필요한 바인딩을 선택하고 클릭하세요. 편집하다.

다음 이미지에서 볼 수 있듯이 사용자가 주소를 지정하는 고유한 호스트 이름을 지정해야 합니다. 이 튜토리얼에서는 TestSite를 사용합니다. 그럼 Hostname 필드에 넣어보겠습니다.

테스트-iis-사이트-바인딩
사이트 바인딩 편집 창

명령 프롬프트를 사용하여 IIS 사이트 바인딩을 구성할 수 있습니다. IIS 7 이상을 사용하는 경우 IIS 사이트 바인딩을 구성하는 명령을 실행하면 다음과 같은 내용이 표시됩니다.

C:\Windows\System32\inetsrv\appcmd.exe set site /site.name:testsite /+bindings.[protocol='http',bindingInformation='*:80:testsite']

첫 번째 웹사이트와 유사하게 두 번째 웹사이트도 시작할 수 있습니다.

start-iis-사이트
웹사이트 관리

이 시점에서 IIS 웹 서버의 IP 주소 또는 호스트 이름을 참조하여 서버(A 또는 CNAME)에 대한 DNS 별칭을 추가해야 합니다. Active Directory 도메인을 사용하는 경우 도메인 컨트롤러에서 DNS 레코드를 만들어야 합니다. IIS를 사용하면 CNAME DNS 콘솔에 TestSite라는 이름에 대한 기록(dnsmgmt.msc) IIS 서버의 도메인 이름을 FQDN 대상 호스트로 설정합니다.

DNS 콘솔에서 TestSite라는 이름에 대한 CNAME 레코드 생성
DNS 콘솔에서 TestSite라는 이름에 대한 CNAME 레코드 생성

PowerShell 및 다음 명령을 통해 이 DNS 레코드를 생성할 수도 있습니다.

Add-DnsServerResourceRecordCName -HostNameAlias web-srv1.woshub.com -Name testsite -ZoneName woshub.com

열어보도록 할게요 http://TestSite 브라우저에서. 모든 작업이 올바르게 완료되면 성공적으로 열립니다.

다중 iis-사이트-동일-80-http-포트
테스트 사이트의 최종 결과

 

리눅스-vps 단순화된 Linux 호스팅

웹사이트와 웹 앱을 호스팅하는 더 나은 방법을 원하시나요? 새로운 것을 개발하고 있나요? 단순히 Windows가 마음에 들지 않습니까? 이것이 우리가 Linux VPS를 사용하는 이유입니다.

Linux VPS 받기

IIS 서버에서 서로 다른 IP 주소를 사용하여 여러 사이트 실행

이제 서로 다른 IP 주소를 사용하여 IIS 웹 서버에서 두 사이트를 실행하는 방법에 대해 이야기하겠습니다. 먼저 Windows Server에 별도의 VLAN 인터페이스를 추가하거나 NIC에 추가 IP 주소(별칭)를 할당해야 합니다.

이 자습서에서는 서버의 기본 IP 주소가 192.168.13.100이며 동일한 네트워크 어댑터에 IP 별칭 192.168.13.101을 추가합니다.

Get-NetIPAddress | ft IPAddress, InterfaceAlias, SkipAsSource
New-NetIPAddress –IPAddress 192.168.13.101 –PrefixLength 24 –InterfaceAlias “Ethernet” –SkipAsSource $True

이제 DNS 서버에서 새 사이트에 대한 A 레코드를 생성해야 합니다.

Add-DnsServerResourceRecordA -Name NewSite3 -IPv4Address 192.168.13.101 -ZoneName woshub.com -TimeToLive 01:00:00 –CreatePtr

사이트 바인딩 설정을 열어 사이트를 호스트의 추가 IP 주소에 바인딩합니다. PowerShell을 사용하여 IIS 서버에서 사이트 바인딩을 처리할 수 있습니다. 이것이 작동하려면 WebAdministration 모듈이 사용됩니다:

Import-Module WebAdministration

사용 가능한 모든 IIS 사이트와 해당 바인딩에 대한 재생 정보를 볼 수 있습니다.

Get-IISSite

아니면 단일 사이트에 대해서만:

(Get-Website -Name NewSite).bindings.Collection

바인딩.컬렉션

이 사이트의 바인딩을 변경하려면 다음 명령을 사용하십시오. 이를 통해 IP 주소, 포트 또는 이름을 변경할 수 있습니다.

Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:80:NewSite1" -PropertyName 'Port' -Value '8080'
Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:8080:NewSite1" -PropertyName 'IPAddress' -Value '192.168.13.100'

이 명령을 실행하여 특정 IIS 사이트에 새 바인딩을 추가할 수 있습니다.

New-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:" -Protocol http

바인딩 제거는 다음 명령으로 수행됩니다.

Remove-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:"

따라서 여기서 본 것처럼 IIS 웹 서버에서 서로 다른 IP 주소와 동일한 IP 주소 및 TCP 포트 번호로 여러 웹 사이트를 실행할 수 있습니다.

최종 생각: 하나의 서버에서 여러 웹사이트 호스팅

 이 문서에서는 주로 서버의 기본 개념에 중점을 두어 단일 서버에서 여러 웹 사이트를 호스팅하는 방법을 배우는 데 도움을 주었습니다. 우리는 또한 여러 가지를 제공합니다 리눅스 VPS 하나의 서버에서 다양한 웹사이트를 실행하는 데 사용할 수 있는 호스팅 솔루션입니다. Cloudzy의 계획은 여러 서버를 보유하는 데 드는 비용을 줄이면서도 귀하가 당사 서비스를 유리하게 사용할 수 있도록 허용합니다. 또한 RAM, 스토리지, 프로세서, 대역폭을 포함한 서버 리소스를 쉽게 업그레이드할 수 있습니다.

FAQ

 

단일 웹 서버 호스팅에 여러 웹 사이트를 가질 수 있습니까?

충분한 HDD 공간, RAM, CPU 성능과 같은 광범위한 리소스를 갖춘 대규모 서버가 있는 경우 가상 호스팅을 사용하여 여러 웹사이트를 호스팅할 수 있습니다. 귀하의 웹서버에는 무제한의 웹사이트를 호스팅할 수 있습니다.

하나의 서버에서 두 개의 웹사이트를 어떻게 운영할 수 있나요?

단일 웹 서버에서 여러 웹 사이트를 호스팅하는 것을 가상 서버라고 합니다. 또한 선택한 서버에 트래픽 및 디스크 공간 요구 사항을 처리할 수 있는 충분한 리소스가 있는지 확인해야 합니다.

VPS 서버는 무엇을 위해 사용됩니까?

VPS는 서버의 전용(개인) 리소스를 제공할 수 있는 호스팅 서비스입니다. 전용 서버 공간을 제공하지 않는 공유 호스팅보다 VPS를 사용하는 것이 더 안전하고 안정적인 솔루션이라는 점에 유의하세요.

사람들이 VPS를 사용하는 이유는 무엇입니까?

VPS 호스팅은 일반적으로 전용 호스팅보다 비용이 저렴하고 공유 호스팅보다 더 나은 안정성, 보안 및 성능을 제공하기 때문에 널리 선택됩니다.

공유하다

블로그에서 더 보기

계속 읽어보세요.

부드러운 보라색 구름 테마 배경의 플로팅 앱 인터페이스 패널로 둘러싸인 왼쪽에 큰 헤드라인 텍스트가 있고 오른쪽에 Odoo 로고가 있는 Odoo 리뷰 기능 이미지.
웹 및 비즈니스 앱

종합적인 Odoo 검토: Odoo가 귀하의 비즈니스에 적합한 ERP입니까?

Odoo는 한 곳에서 많은 것을 약속한다는 단순한 이유 때문에 성장하는 비즈니스를 위해 가장 널리 간주되는 ERP 플랫폼 중 하나입니다. 영업, 회계, 재고

짐 슈워츠짐 슈워츠 11분 읽기
오픈 소스 WordPress 대안은 다채로운 그라데이션 배경, 데스크톱 모니터, 코드 편집기, 흐릿한 대시보드 미리 보기 및 왼쪽의 큰 헤드라인 텍스트가 있는 이미지를 제공합니다.
웹 및 비즈니스 앱

개발자를 위한 최고의 오픈 소스 WordPress 대안

WordPress는 여전히 중요하며 여전히 다양한 사이트에 서비스를 제공하고 있습니다. 플러그인 디렉토리는 62,000개 이상의 플러그인을 호스팅하고 테마 디렉토리는 14,000개 이상의 무료 테마를 제공합니다. 그쪽으로

짐 슈워츠짐 슈워츠 14분 읽기
플랫폼 로고와 어떤 CMS 개발자를 선택해야 하는지 묻는 헤드라인이 포함된 Automad 및 WordPress 기능 이미지.
웹 및 비즈니스 앱

Automad와 WordPress: 두 가지 최고의 CMS 플랫폼 간의 철저한 비교

Automad와 WordPress는 매우 다른 두 가지 방식으로 동일한 작업을 해결합니다. Automad는 플랫 파일 CMS 및 템플릿 엔진이므로 콘텐츠는 데이터베이스가 아닌 파일에 존재하지만 WordPress는

짐 슈워츠짐 슈워츠 9분 읽기

배포할 준비가 되셨나요? 월 $2.48부터

2008년부터 독립 클라우드. AMD EPYC, NVMe, 40Gbps. 14일 환불.