SW/리눅스

Linux : CentOS 8 : Nginx 서버 블록 설정 방법, 예제, 명령어

얇은생각 2022. 6. 19. 07:30
반응형

서버 블록은 특정 도메인에 대한 설정을 정의하는 Nginx 지시어로, 단일 서버에서 둘 이상의 웹 사이트를 실행할 수 있습니다. 각 웹 사이트에 대해 사이트 문서 루트(웹 사이트 파일이 들어 있는 디렉토리)를 설정하고, 별도의 보안 정책을 작성하며, 다른 SSL 인증서를 사용하는 등의 작업을 수행할 수 있습니다.

CentOS 8에서 Nginx 서버 블록을 설정하는 방법을 설명합니다.

 

 

Linux : CentOS 8 : Nginx 서버 블록 설정 방법, 예제, 명령어

 

 

필수 구성 요소

이 튜토리얼을 계속하기 전에 다음 요구 사항을 충족했는지 확인하십시오.

공용 서버 IP를 가리키는 도메인 이름입니다.

귀하의 Cent에 Nginx가 설치되어 있습니다.OS 시스템이에요.

루트 또는 sudo 권한이 있는 사용자로 로그인합니다.

 

일부 설명서에서는 서버 블록이라는 용어를 가상 호스트라고 합니다. 가상 호스트는 Apache 용어입니다.

 

 

 

디렉토리 구조 생성

루트는 요청에 대한 응답으로 도메인 이름의 웹 사이트 파일이 저장되고 제공되는 디렉토리입니다. Document 루트는 원하는 위치로 설정할 수 있습니다. 

다음 디렉토리 구조를 사용합니다.

/var/www/
├── example.com
│   └── public_html
├── example2.com
│   └── public_html
├── example3.com
│   └── public_html

 

 

서버에서 호스팅될 각 도메인에 대해 /var/www 내에 별도의 디렉토리를 작성합니다. 도메인 디렉토리 내에 도메인 문서 루트 디렉토리가 되고 도메인 웹 사이트 파일을 저장할 public_html 디렉토리를 작성합니다.

먼저 도메인 example.com에 대한 루트 디렉토리를 생성하겠습니다.

sudo mkdir -p /var/www/example.com/public_html

 

 

테스트를 위해 도메인의 문서 루트 디렉토리 내에 index.html 파일을 작성합니다.

sudo nano /var/www/example.com/public_html/index.html

 

 

다음 코드를 복사하여 파일에 붙여넣습니다.

# /var/www/example.com/public_html/index.html

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Welcome to example.com</title>
  </head>
  <body>
    <h1>Success! example.com home page!</h1>
  </body>
</html>

 

 

사용 권한 문제를 방지하려면 도메인 문서 루트 디렉토리의 소유권을 사용자 nginx로 변경하십시오.

sudo chown -R nginx: /var/www/example.com

 

 

 

서버 블록을 작성

기본적으로 CentOS에서 Nginx 서버 블록 구성 파일은 .conf로 끝나야 하며 /etc/nginx/conf.d 디렉토리에 저장됩니다.

텍스트 편집기를 열고 도메인에 대한 구성 파일을 만듭니다.

sudo nano /etc/nginx/conf.d/example.com.conf

 

 

구성 파일의 이름은 원하는 대로 지정할 수 있지만 일반적으로 도메인 이름을 사용하는 것이 가장 좋습니다.

다음 코드를 복사하여 파일에 붙여넣습니다.

# /etc/nginx/conf.d/example.com.conf

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

    root /var/www/example.com/public_html;

    index index.html;

    server_name example.com www.example.com;

    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

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

 

 

파일을 저장하고 Nginx 구성에서 구문 오류를 확인합니다.

sudo nginx -t

# nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
# nginx: configuration file /etc/nginx/nginx.conf test is successful

 

 

Nginx 서비스를 다시 시작하여 변경 내용을 적용합니다.

sudo systemctl restart nginx

 

 

마지막으로, 서버 블록이 예상대로 작동하는지 확인하려면, 선택한 브라우저에서 http://example.com을 여십시오. 그러면 다음과 같은 내용이 나타납니다.

Nginx 서버 블록을 생성하고 단일 CentOS에서 여러 도메인을 호스팅하는 방법을 보여주었습니다. 위에서 설명한 단계를 반복하고 모든 도메인에 대해 추가 서버 블록을 작성할 수 있습니다.

SSL 인증서로 웹 사이트를 보호하려는 경우 무료 Letscrypt SSL 인증서를 생성하고 설치할 수 있습니다.

반응형