카테고리 없음

[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