태그 보관물: webserver

webserver

가상 서버를 실행하는 방법? 실행 중입니다.

현재 웹 사이트를 호스팅하는 실제 Ubuntu 14.04 서버를 실행 중입니다. 두 번째 웹 사이트를 추가하고 싶지만 실제 상자 하나에서 두 가지를 모두 실행하고 싶지 않습니다. 또한 기본 웹 사이트와 같은 데이터를 하위 도메인의 WordPress 블로그에서 약간 분리하고 싶습니다.

내가 조사하고 알아낼 수 있었던 것에서 호스트 머신이 여러 가상 서버를 실행하는 것이 원하는 것처럼 보이지만 어떻게 거기에 도달해야하는지 잘 모르겠습니다. 하나의 물리적 서버에서 여러 서버를 어떻게 실행할 수 있습니까? 어떻게 인터넷에 접속할 수 있습니까?

편집 : Oracle VirtualBox를 사용하여 Ubuntu 데스크탑에서 가상 Ubuntu 14.04 서버를 실행하고 있습니다. 도메인 이름을이 가상 서버로 지정하고 웹 사이트에 액세스하려면 어떻게해야합니까?



답변

여기에는 몇 가지 개념이 있다고 생각합니다. 첫째, 일반적으로 IP 주소 당 하나의 포트에 하나의 응용 프로그램 만 가질 수 있습니다. 다른 서버로 물건을 전달하는 것을 처리 할 수있는 소프트웨어가 있습니다.

처음부터 시작하겠습니다

가장 간단한 지형은 다음과 같습니다

Internet+-----------> consumer router +----------> Host+--------------> VM

인터넷 연결을 위해 라우팅 가능한 IP 주소 (NAT가 아님)가 필요하며 일반적으로 라우터에서 확인할 수 있습니다. 이것에 당신의 ipv4 A 기록을 지적하십시오.

호스트와 VM을 설정하는 방법에는 NAT (호스트에서 VM으로 포트를 전달해야 함) 또는 VM이 ​​별도의 물리적 시스템으로 작동하는 ‘브리지’라는 두 가지 옵션이 있습니다. 나는 다리를 선호합니다.

VM의 NAT를 사용하려면 라우터에서 호스트로, 호스트에서 VM으로 두 번 포트 포워딩해야합니다.

브리지 된 네트워크로 사용하려면 사용하려는 포트를 VM으로 전달하면됩니다.

일반적으로 웹 서버는 포트 80을 사용하지만 때로는 해당 포트가 차단됩니다.

이제 2 대의 웹 서버에서는 복잡해집니다. 두 개의 분리 된 웹 서버를 갖는 가장 좋은 방법 은 프록시로 실행 되는 세 번째 서버 를 갖는 것입니다.

ngnix는 이에 대한 대중적인 옵션입니다.이 serverfault 질문 은 프로세스 를 다루지 만 기본적으로 세 번째 서버는 도메인 이름을 기준으로 올바른 서버로 트래픽을 전달합니다. 이것은 가상 호스트를 사용하며 ngnix는 리버스 프록시로 매우 효율적으로 작동합니다.

다른 루트 디렉토리와 하나의 웹 서버로 두 개의 가상 호스트를 설정할 수도 있습니다. 데이터베이스를 공유 할 필요는 없습니다 (자체 VM에있을 수 있음). 이것이 현명한 방법 일 것입니다.


답변