카테고리 없음
[Linux] Virtual Host (가상 호스트) 설정
yeit
2024. 3. 12. 21:38
728x90
Virtual Host란?
하나의 웹 서버에 여러 개의 도메인을 호스팅 할 수 있도록 하는 기술로, 이를 통해 하나의 웹 서버로 여러 개의 웹 사이트를 운영할 수 있다. 일반적으로 하나의 웹 서버에는 하나의 IP 주소가 할당되어 있는데, 가상 호스트를 사용하여 하나의 IP 주소에 여러 개의 도메인을 매핑할 수 있는 것이다.
Nginx Virtual Host 설정 방법
1. Nginx 설치
# yum install nginx
# systemctl start nginx
# systemctl enable nginx
2. Virtual Host 구성
2-1. hosts 파일 수정
도메인을 발급 받지 않고 로컬 환경에서 테스트하기 위해, 호스트 파일에 도메인을 등록해 준다.
# vi /etc/hosts
...
127.0.0.1 test1.com
127.0.0.1 test2.com
2-2. 가상 호스트 설정 추가
Nginx에서 가상 호스트 설정은 /etc/nginx/conf.d/ 디렉토리에 있는 개별 설정 파일에 정의된다. 해당 디렉토리에 새로운 파일을 생성하고 가상 호스트 설정을 추가한다.
# vi /etc/nginx/conf.d/test1.com.conf
server {
listen 80;
server_name www.test1.com test1.com;
location / {
root /usr/share/nginx/test1.com/html; #폴더 경로
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
2-3. 가상 호스트 index.html 파일 생성
가상 호스트 index.html파일을 작성하고, nginx가 접근할 수 있도록 해당 디렉터리의 권한을 755로 바꿔준다.
# mkdir -p /usr/share/nginx/test1.com/html
# vi /usr/share/nginx/test1.com/html/index.html
<! DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Test Page</title>
</head>
<body>
<h1>Welcome to test1.com</h1>
<p>This is a test page for test1.com</p>
</body>
</html>
# chmod -R 755 /usr/share/nginx/test1.com
3. Nginx 재시작
nginx 재시작 후, curl명령로 설정이 잘 되었는지 확인한다.
# systemctl restart nginx
# curl test1.com
728x90