기계적 인조 인간

우분투 18.04에서 nginx 서버 블록을 설정하는 방법

차례:

Anonim

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

이 튜토리얼에서는 Ubuntu 18.04에서 Nginx 서버 블록 (Apache 가상 호스트와 유사)을 설정하는 방법에 대한 단계별 지침을 제공합니다.

전제 조건

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

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

디렉토리 구조 만들기

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

/var/www/ ├── domain1.com │ └── public_html ├── domain2.com │ └── public_html ├── domain3.com │ └── public_html

기본적으로 /var/www 디렉토리의 서버에서 호스트하려는 각 도메인에 대해 별도의 디렉토리를 만듭니다. 이러한 각 디렉토리 내에 도메인 웹 사이트 파일을 저장할 public_html 디렉토리를 만듭니다.

도메인 example.com 의 루트 디렉토리를 만들어 봅시다:

sudo mkdir -p /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 사용자 ( www-data )로 변경할 수 있습니다.

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

서버 블록 생성

Ubuntu 시스템에서 기본적으로 Nginx 서버 블록 구성 파일은 /etc/nginx/sites-enabled/ 디렉토리에 대한 심볼릭 링크를 통해 활성화되는 /etc/nginx/sites-available 디렉토리에 저장됩니다.

선택한 편집기를 열고 다음 서버 블록 파일을 작성하십시오.

/etc/nginx/sites-available/example.com

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; } }

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

새 서버 차단 파일을 활성화하려면 파일에서 sites-enabled 디렉토리로 심볼릭 링크를 작성해야합니다.이 디렉토리는 시작하는 동안 Nginx가 읽습니다.

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

올바른 구문에 대해 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 을 열고 다음과 같이 표시됩니다.

결론

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

Ubuntu 18.04에서 Let 's Encrypt를 사용한 보안 Nginx

nginx 우분투

이 게시물은 설치 방법 -LEMP- 스택-온-우분투 -18-04 시리즈의 일부입니다.

이 시리즈의 다른 게시물:

• Ubuntu 18.04에 Nginx를 설치하는 방법 • Ubuntu 18.04에 Nginx 서버 블록을 설정하는 방법 • Ubuntu 18.04에 암호화를 사용하여 Nginx를 안전하게 보호하기 • Ubuntu 18.04에 MySQL을 설치하는 방법 • Ubuntu 18.04에 PHP를 설치하는 방법