0Pricing
Linux Server Deployment & SSH Mastery · 강의

기본 가상 호스트 설정

서로 다른 도메인 이름을 사용하여 하나의 서버에서 여러 웹사이트를 호스팅하도록 가상 호스트 또는 서버 블록을 설정합니다.

기본 가상 호스트 설정은(는) CoddyKit의 무료 Linux Server Deployment & SSH Mastery 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Linux Server Deployment & SSH Mastery 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Linux Server Deployment & SSH Mastery 강의에는 총 4개의 강의가 포함되어 있습니다.

여러 웹사이트 호스팅하기

강력한 서버 한 대가 있지만 각각 고유한 도메인 이름(예: myshop.com 및 myblog.com)을 사용하는 여러 웹사이트를 호스팅하고 싶다고 가정해 보세요.

사이트마다 별도의 장비가 없어도 하나의 서버가 이를 효율적으로 처리하게 하려면 어떻게 해야 할까요?

Virtual Hosts란 무엇인가요?

이때 Virtual Hosts(Apache) 또는 Server Blocks(Nginx)를 사용합니다!

  • 하나의 웹 서버에서 여러 도메인 이름을 호스팅할 수 있게 해 주는 구성 단위입니다.
  • 각 도메인은 고유한 문서 루트(파일이 저장되는 위치), 로그 및 개별 설정을 가질 수 있습니다.
  • 이렇게 하면 리소스를 절약하고 서버 관리가 간소화됩니다.

Apache의 Virtual Host 설정

Apache에서 Virtual Host 구성은 일반적으로 특정 디렉터리 안의 .conf 파일에 저장됩니다.

  • /etc/apache2/sites-available/: 사용 가능한 모든 Virtual Host 구성을 포함합니다.
  • /etc/apache2/sites-enabled/: 현재 활성화된 구성으로 연결되는 심볼릭 링크를 포함합니다.

a2ensite와 같은 명령을 사용하여 이를 활성화합니다.

Apache: 기본 가상 호스트

다음은 간단한 Apache 가상 호스트 구성입니다. 이 파일은 sites-available에 생성합니다.

<VirtualHost *:80>
    ServerAdmin webmaster@example.com
    ServerName myfirstsite.com
    ServerAlias www.myfirstsite.com
    DocumentRoot /var/www/myfirstsite
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Apache: 구성 단계

myfirstsite.com의 Apache 가상 호스트를 설정하려면 다음 단계를 따르세요.

  1. 웹 사이트 파일을 저장할 디렉터리를 만듭니다.
  2. 가상 호스트 구성 파일을 만듭니다.
  3. 사이트를 활성화하고 Apache를 다시 불러옵니다.

처음 두 단계에 필요한 명령을 살펴보겠습니다.

sudo mkdir -p /var/www/myfirstsite/html
sudo chown -R $USER:$USER /var/www/myfirstsite/html
sudo nano /etc/apache2/sites-available/myfirstsite.conf

Apache: 활성화 및 다시 불러오기

.conf 파일을 만들고 저장한 후, 다음 명령을 사용하여 활성화하고 변경 사항을 적용하세요.

  • sudo a2ensite myfirstsite.conf: sites-enabled에 기호 링크를 만듭니다.
  • sudo apache2ctl configtest: Apache 구성의 구문 오류를 확인합니다.
  • sudo systemctl reload apache2: 서버를 다시 시작하지 않고 새 구성을 적용합니다.
sudo a2ensite myfirstsite.conf
sudo apache2ctl configtest
sudo systemctl reload apache2

Nginx의 서버 블록 설정

Nginx는 Apache의 가상 호스트와 매우 비슷한 서버 블록을 사용합니다. 디렉터리 구조도 비슷합니다.

  • /etc/nginx/sites-available/: 모든 서버 블록 구성을 저장합니다.
  • /etc/nginx/sites-enabled/: 활성 서버 블록으로 연결되는 기호 링크를 포함합니다.

도우미 명령 대신 기호 링크를 직접 만듭니다.

Nginx: 기본 서버 블록

다음은 mysecondsite.com을 위한 기본 Nginx 서버 블록 구성입니다. 이 파일은 sites-available에 생성합니다.

server {
    listen 80;
    listen [::]:80;

    root /var/www/mysecondsite/html;
    index index.html index.htm;

    server_name mysecondsite.com www.mysecondsite.com;

    location / {
        try_files $uri $uri/ =404;
    }
}

Nginx: 구성 단계

mysecondsite.com의 Nginx 서버 블록을 설정하려면 다음 단계를 따르세요.

  1. 웹 사이트 파일을 저장할 디렉터리를 만듭니다.
  2. 서버 블록 구성 파일을 만듭니다.
  3. 기호 링크를 만들고 Nginx를 다시 불러옵니다.

처음 두 단계에 필요한 명령은 다음과 같습니다.

sudo mkdir -p /var/www/mysecondsite/html
sudo chown -R $USER:$USER /var/www/mysecondsite/html
sudo nano /etc/nginx/sites-available/mysecondsite

Nginx: 활성화 및 다시 불러오기

서버 블록 파일을 만들고 저장한 후, 다음 명령을 사용하여 활성화하고 변경 사항을 적용하세요.

  • sudo ln -s /etc/nginx/sites-available/mysecondsite /etc/nginx/sites-enabled/: 기호 링크를 만듭니다.
  • sudo nginx -t: Nginx 구성의 구문 오류를 확인합니다.
  • sudo systemctl reload nginx: 서버를 다시 시작하지 않고 새 구성을 적용합니다.
sudo ln -s /etc/nginx/sites-available/mysecondsite /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

가상 호스트 확인

여러 사이트를 호스팅하도록 웹 서버를 구성하는 방법을 배웠습니다. 이제 이해한 내용을 확인해 보겠습니다.

복습: 하나의 서버에서 여러 사이트 운영

잘하셨습니다! 가상 호스트(Apache)와 서버 블록(Nginx)을 구성하는 기본 내용을 배웠습니다.

  • 이러한 구성을 사용하면 하나의 서버에서 여러 웹 사이트를 효율적으로 호스팅할 수 있습니다.
  • 서로 다른 도메인 이름에 대해 별도의 구성을 설정하는 방법을 익혔습니다.
  • 이는 웹 서버를 관리하고 여러 애플리케이션을 배포하는 데 필요한 기본 기술입니다.

자주 묻는 질문

“기본 가상 호스트 설정” 강의는 무료인가요?

네 — “기본 가상 호스트 설정” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Linux Server Deployment & SSH Mastery 강의 전체를 잠금 해제할 수 있습니다. Linux Server Deployment & SSH Mastery 강의에는 총 4개의 강의가 포함되어 있습니다.

“기본 가상 호스트 설정”에서 뭘 배우나요?

서로 다른 도메인 이름을 사용하여 하나의 서버에서 여러 웹사이트를 호스팅하도록 가상 호스트 또는 서버 블록을 설정합니다. 브라우저에서 직접 실행하는 실습 코드로 Linux Server Deployment & SSH Mastery을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Linux Server Deployment & SSH Mastery을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Linux Server Deployment & SSH Mastery은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“기본 가상 호스트 설정” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Linux Server Deployment & SSH Mastery 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Linux Server Deployment & SSH Mastery 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. Nginx/Apache 설치
  2. 정적 웹사이트 호스팅
  3. 기본 가상 호스트 설정
  4. Let's Encrypt로 HTTPS 활성화하기
← Linux Server Deployment & SSH Mastery(으)로 돌아가기