웹사이트 검색

Ubuntu 20.04에서 Nginx 서버 블록(가상 호스트)을 설정하는 방법


때때로 Nginx 웹 서버에서 두 개 이상의 도메인이나 웹사이트를 호스팅해야 할 수도 있습니다. 이를 위해서는 모든 도메인 구성을 캡슐화하도록 서버 블록(가상 호스트)을 구성해야 합니다. Nginx 서버 블록은 Apache 가상 호스트 파일과 동의어이며 동일한 용도로 사용됩니다.

이 항목에서는 Ubuntu 20.04에서 Nginx 서버 블록을 설정하는 방법을 보여줍니다.

전제 조건:

  • 도메인 이름 호스팅 제공업체에 정의된 A 레코드입니다. A 레코드는 도메인 이름을 공용 서버 IP 주소로 가리키는 DNS 레코드입니다. 이 가이드에서는 설명 목적으로 도메인 이름 crazytechgeek.info를 사용합니다.
  • Ubuntu 20.04 LTS 인스턴스에 설치된 Nginx 서버 또는 LEMP 스택.
  • Sudo 권한이 있는 로그인 사용자입니다.

모든 요구 사항이 충족되면 Ubuntu에서 Nginx 서버 블록을 설정하는 방법을 살펴보겠습니다.

1단계: Nginx 문서 루트 디렉터리 만들기

시작하려면 도메인과 관련된 모든 설정을 포함하는 별도의 도메인 디렉터리를 만듭니다.

sudo mkdir -p /var/www/crazytechgeek.info/html

다음으로 $USER 환경 변수를 사용하여 디렉터리의 소유권을 할당합니다. 그러면 현재 로그인한 사용자에게 디렉터리의 소유권이 할당됩니다. 루트가 아닌 일반 사용자 계정을 사용하여 로그인했는지 확인하십시오.

sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html

그런 다음 디렉터리에 적절한 권한을 할당하여 로그인한 사용자에게 모든 권한(읽기, 쓰기 및 실행)을 부여하고 그룹 및 기타 사용자에게는 읽기 및 실행 권한만 부여합니다.

sudo chmod -R 755 /var/www/crazytechgeek.info

디렉터리 권한과 소유권이 올바르게 구성되었으면 도메인에 대한 샘플 웹 페이지를 만들어야 합니다.

2단계: 도메인에 대한 샘플 페이지 만들기

이 단계에서는 테스트 목적으로 index.html 파일을 생성하겠습니다. 이 파일은 브라우저에서 도메인을 호출할 때 웹 브라우저에 표시되는 콘텐츠를 제공합니다.

sudo vim /var/www/crazytechgeek.info/html/index.html

다음 HTML 콘텐츠를 붙여넣습니다.

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
  <h1>Bravo! Your server block is working as expected!</h1>
    </body>
</html>

구성 파일을 저장하고 종료합니다.

3단계: Ubuntu에서 Nginx 서버 블록 생성

Nginx 서버 블록은 /etc/nginx/sites-available 디렉토리에 있습니다. 기본 Nginx 서버 블록은 /var/www/html/index.nginx-debian.html/etc/nginx/sites-available/default입니다. >.

우리의 경우 이전에 생성한 index.html 파일의 콘텐츠를 제공할 서버 블록을 생성해야 합니다.

따라서 표시된 서버 블록 파일을 생성하십시오.

sudo vim /etc/nginx/sites-available/crazytechgeek.info

아래 내용을 붙여넣으세요.

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

        root /var/www/crazytechgeek.info/html;
        index index.html index.htm index.nginx-debian.html;

        server_name crazytechgeek.info www.crazytechgeek.info;

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

		
    access_log /var/log/nginx/crazytechgeek.info.access.log;
    error_log /var/log/nginx/crazytechgeek.info.error.log;

}

파일을 저장하고 종료합니다.

4단계: Ubuntu에서 Nginx 서버 블록 활성화

Nginx 서버 블록을 활성화하려면 표시된 대로 /etc/nginx/sites-enabled/ 디렉터리에 심볼릭 링크해야 합니다.

sudo ln -s /etc/nginx/sites-available/crazytechgeek.info /etc/nginx/sites-enabled/

이 시점에서 우리는 거의 끝났습니다. 그러나 모든 구성이 올바른지 확인하는 것이 좋습니다. 그렇게 하려면 다음 명령을 실행하십시오.

sudo nginx -t

단계를 올바르게 수행했다면 다음과 같은 출력이 표시되어야 합니다.

마지막으로 구성 파일에 대한 변경 사항을 적용하려면 Nginx를 다시 시작하세요.

sudo systemctl restart Nginx

그런 다음 표시된 명령을 실행하여 Nginx가 실행 중인지 확인합니다.

sudo systemctl status Nginx

5단계: Ubuntu에서 Nginx 서버 블록 테스트

서버 블록이 예상대로 작동하고 /var/www/crazytechgeek.info 디렉터리의 콘텐츠를 제공하는지 확인하려면 웹 브라우저를 열고 서버의 도메인 이름을 찾아보세요.

http://domain-name

표시된 대로 서버 블록의 HTML 파일에 포함된 콘텐츠를 가져와야 합니다.

결론

이 가이드에서는 Ubuntu Linux에서 단일 도메인을 사용하여 Nginx 서버 블록을 설정하는 방법을 보여 주었습니다. 다른 도메인에 대해 동일한 단계를 반복해도 여전히 동일한 결과를 얻을 수 있습니다. 가이드가 통찰력이 있기를 바랍니다.