기계적 인조 인간

CentOS 7에서 Nginx 서버 블록을 설정하는 방법

how to configure https server in centos 7 , redhat 7 (ssl tls certificate)

how to configure https server in centos 7 , redhat 7 (ssl tls certificate)

차례:

Anonim

Nginx 서버 블록을 사용하면 단일 컴퓨터에서 둘 이상의 웹 사이트를 실행할 수 있습니다. 이는 각 사이트마다 사이트 문서 루트 (웹 사이트 파일이 포함 된 디렉토리)를 지정하고 별도의 보안 정책을 작성하며 다른 SSL 인증서 등을 사용할 수 있기 때문에 매우 유용합니다.

이 튜토리얼에서는 CentOS 7에서 Nginx 서버 블록을 설정하는 방법을 설명합니다.

전제 조건

이 학습을 계속하기 전에 다음 전제 조건을 충족하는지 확인하십시오.

  • 공개 서버 IP를 가리키는 도메인 이름이 있어야합니다. 이 튜토리얼에서는 example.com 을 사용합니다. CentOS 시스템에 Nginx가 설치되어 있습니다. sudo 권한이있는 사용자로 로그인했습니다.
일부 설명서에는 Server Blocks Virtual host 라고 표시되어 있습니다. 가상 호스트는 Apache 용어입니다.

디렉토리 구조 만들기

문서 루트는 도메인 이름의 웹 사이트 파일이 요청에 응답하여 저장되고 제공되는 디렉토리입니다. 문서 루트를 원하는 위치로 설정할 수 있지만이 안내서에서는 다음 디렉토리 구조를 사용합니다.

/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 파일을 만듭니다.

텍스트 편집기를 열고 demo index.html 파일을 작성하십시오.

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

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

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

<code> Welcome to example.com Success! example.com home page! </code>

Welcome to example.com Success! example.com home page!

이 안내서에서는 sudo 사용자로 명령을 실행하고 새로 작성된 파일 및 디렉토리는 루트 사용자가 소유합니다.

권한 문제를 피하기 위해 도메인 문서 루트 디렉토리의 소유권을 Nginx 사용자 ( nginx )로 변경할 수 있습니다.

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

서버 블록 생성

Nginx 서버 블록 구성 파일은 .conf /etc/nginx/conf.d 하며 /etc/nginx/conf.d 디렉토리에 저장됩니다.

선택한 편집기를 열고 example.com 대한 서버 블록 구성 파일을 작성하십시오.

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 을 열고 다음과 같이 표시됩니다.

결론

단일 CentOS 서버에서 여러 도메인을 호스트하기 위해 Nginx 서버 블록 구성을 작성하는 방법을 배웠습니다. 위에서 설명한 단계를 반복하고 모든 도메인에 대한 추가 서버 블록을 만들 수 있습니다.

CentOS 7에서 Let 's Encrypt를 사용한 보안 Nginx

nginx centos

이 게시물은 install-lemp-stack-on-centos-7 시리즈의 일부입니다.

이 시리즈의 다른 게시물:

• CentOS 7에 Nginx를 설치하는 방법 • CentOS 7에 암호화를 사용하여 안전한 Nginx를 설치합니다 • CentOS 7에 MariaDB를 설치합니다 • CentOS 7에 PHP 7을 설치합니다 • CentOS 7에 Nginx 서버 블록을 설정하는 방법