기본 가상 호스트 설정
서로 다른 도메인 이름을 사용하여 하나의 서버에서 여러 웹사이트를 호스팅하도록 가상 호스트 또는 서버 블록을 설정합니다.
기본 가상 호스트 설정은(는) 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 가상 호스트를 설정하려면 다음 단계를 따르세요.
- 웹 사이트 파일을 저장할 디렉터리를 만듭니다.
- 가상 호스트 구성 파일을 만듭니다.
- 사이트를 활성화하고 Apache를 다시 불러옵니다.
처음 두 단계에 필요한 명령을 살펴보겠습니다.
sudo mkdir -p /var/www/myfirstsite/html
sudo chown -R $USER:$USER /var/www/myfirstsite/html
sudo nano /etc/apache2/sites-available/myfirstsite.confApache: 활성화 및 다시 불러오기
.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 apache2Nginx의 서버 블록 설정
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 서버 블록을 설정하려면 다음 단계를 따르세요.
- 웹 사이트 파일을 저장할 디렉터리를 만듭니다.
- 서버 블록 구성 파일을 만듭니다.
- 기호 링크를 만들고 Nginx를 다시 불러옵니다.
처음 두 단계에 필요한 명령은 다음과 같습니다.
sudo mkdir -p /var/www/mysecondsite/html
sudo chown -R $USER:$USER /var/www/mysecondsite/html
sudo nano /etc/nginx/sites-available/mysecondsiteNginx: 활성화 및 다시 불러오기
서버 블록 파일을 만들고 저장한 후, 다음 명령을 사용하여 활성화하고 변경 사항을 적용하세요.
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 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.