웹사이트 검색

Debian 10에 서버 블록(가상 호스트)과 함께 Nginx 설치


Nginx는 역방향 프록싱, 로드 밸런싱, 캐싱 등의 기능을 결합한 매우 인기 있는 고성능 웹 서버입니다. 구성 방법에 따라 역방향 프록시 역할과 HTTP/HTTPS 서버용 로드 밸런서 역할을 할 수 있습니다.

Nginx 웹 서버는 수천 개의 동시 연결을 처리하는 경이로운 기능을 갖추고 있으며 이로 인해 전 세계에서 가장 바쁜 사이트의 절반 이상을 지원하는 가장 빠른 웹 서버가 되었습니다. 여기에는 Netflix, DuckDuckGo, DropBox 등이 포함됩니다.

추가 읽기: Debian 10에서 가상 호스트와 함께 Apache를 설치하는 방법

이 튜토리얼에서는 Debian 10 서버에서 여러 도메인을 호스팅하기 위해 가상 호스트와 함께 Nginx를 설치하는 방법에 대한 단계를 안내합니다.

전제 조건

시작하기 전에 다음 요구 사항이 충족되는지 확인하세요.

  1. 데비안 10의 인스턴스.
  2. 서버를 가리키는 정규화된 도메인 이름(FQDN).
  3. 이 가이드에서는 IP 주소가 192.168.0.104Debian 10 시스템을 가리키는 도메인 linux-console.net을 사용합니다.
  4. 좋은 인터넷 연결.

1단계: Debian 10 패키지 저장소 업데이트

무엇보다 먼저 로컬 패키지 저장소를 최신 버전으로 업데이트해야 합니다. 이를 수행하려면 sudo 권한이 있는 일반 사용자로 로그인하고 아래 명령을 실행하세요.

sudo apt update -y

2단계: Debian 10에 Nginx 설치

Nginx는 Debian의 저장소에 있으므로 Debian과 함께 제공되는 적절한 패키지 관리자를 사용하여 편안하게 설치할 수 있습니다.

sudo apt install nginx -y

3단계: Nginx 웹서버 상태 확인

오류가 발생하지 않으면 Nginx 웹 서버가 성공적으로 설치된 것입니다. 추가 구성을 수행하기 전에 웹 서버의 상태를 확인하는 것이 좋습니다.

Nginx의 상태를 확인하려면 다음을 실행하세요.

systemctl status nginx

웹 서버가 실행 중이면 아래 알림을 받게 됩니다.

Nginx 웹 서버를 다시 시작하려면 명령어를 실행하세요.

systemctl restart nginx

Nginx를 중지하려면 명령을 실행하십시오.

systemctl stop nginx

웹 서버를 시작하려면 다음을 실행하세요.

systemctl start nginx

부팅 시 시작되도록 Nginx 웹 서버를 구성하려면 다음을 실행하세요.

systemctl enable nginx

또한 읽어 보세요: 모든 Linux 사용자가 알아야 할 가장 많이 사용되는 Nginx 명령 10가지

4단계: Nginx 포트를 열도록 방화벽 구성

Nginx가 성공적으로 설치 및 실행되었으면 특히 외부 사용자에게 서비스에 대한 웹 액세스를 허용해야 합니다. UFW 방화벽이 활성화된 경우 방화벽을 통해 HTTP 액세스를 허용해야 합니다.

이를 달성하려면 명령을 실행하십시오.

sudo ufw allow 'Nginx HTTP'

그런 다음 방화벽을 다시 로드하여 변경 사항을 적용합니다.

sudo ufw reload

좋습니다. 이제 다음을 실행하여 HTTP가 방화벽을 통과하도록 허용되는지 확인할 수 있습니다.

sudo ufw status

위 스니펫에서 UFW 방화벽을 통해 Nginx HTTP가 허용되었음을 분명히 알 수 있습니다.

5단계: Nginx 웹 서버에 액세스

지금까지 Nginx를 시작하고 실행하기 위한 기본 구성을 만들었습니다. 웹 브라우저를 통해 웹 서버에 접속하려면 그림과 같이 서버의 IP 주소를 검색하세요.

http://server-IP-address

이는 Nginx가 실행 중임을 확인하는 것입니다.

6단계: Debian 10에서 Nginx 서버 블록 구성

이는 선택적인 단계이며 Nginx 웹 서버에서 여러 도메인을 호스팅하려는 경우 유용합니다. 이것이 작동하려면 데비안 서버를 가리키는 도메인 이름이 필요합니다.

이 섹션에서는 A 레코드가 서버의 IP 192.168.0.104를 가리키는 도메인 이름 linux-console.net을 사용합니다.

도메인 이름을 서버의 IP 주소로 지정하면 도메인 이름이 곧 변경되어 그림과 같이 웹 서버를 가리킵니다.

이제 서버 블록을 만들어 보겠습니다.

먼저 그림과 같이 도메인에 대한 디렉터리를 생성해 보겠습니다.

sudo mkdir -p /var/www/html/linux-console.net

그런 다음 표시된 대로 필요한 파일 소유권을 할당합니다.

sudo chown -R $USER:$USER /var/www/html/linux-console.net

다음으로, 표시된 대로 그룹 및 공용 사용자에게 읽기 및 실행 권한을 할당합니다.

sudo chmod -R 755 /var/www/html/linux-console.net

이제 vim 텍스트 편집기를 사용하여 간단한 index.html 샘플 웹페이지를 만들어 보겠습니다.

sudo vim /var/www/html/linux-console.net/index.html

파일에 일부 샘플 콘텐츠를 추가합니다. 이는 브라우저에 표시됩니다.

<html>
    <head>
        <title>Welcome to Linux geeks</title>
    </head>
    <body>
        <h1>Success! Welcome to your new server block on Tecmint Nginx Web Server !</h1>
    </body>
</html>

편집기를 저장하고 종료합니다.

이 콘텐츠를 제공하려면 서버 블록을 만들어야 합니다.

서버 블록을 만들어 봅시다

vim  /etc/nginx/sites-available/linux-console.net

다음 내용을 복사하여 서버 블록 파일에 붙여넣습니다.

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

        root /var/www/html/linux-console.net;
        index index.html index.htm index.nginx-debian.html;

        server_name linux-console.net linux-console.net;

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

도메인 이름 linux-console.net을 자신의 도메인 이름으로 업데이트하세요.

서버 블록 파일을 활성화하거나 활성화하려면 그림과 같이 심볼릭 링크를 만듭니다.

sudo ln -s /etc/nginx/sites-available/linux-console.net /etc/nginx/sites-enabled/

Nginx의 모든 설정이 올바르게 구성되었는지 확인하려면 다음을 실행하세요.

sudo nginx -t

좋습니다. 이제 가겠습니다! 마지막으로 Nginx를 다시 시작하십시오.

sudo systemctl restart nginx

브라우저로 가서 새로 고치고 모든 것이 순조롭게 진행되면 브라우저는 표시된 대로 서버 블록 웹 페이지를 제공해야 합니다.

7단계: Nginx 로그 파일 액세스

서버에 대한 요청에 대한 로그 파일에 액세스하려면 아래 파일에 액세스하세요.

sudo vim /var/log/nginx/access.log 

Nginx 웹 서버에서 오류가 발생하는 경우 파일에 오류가 있는지 검사하세요.

sudo vim /var/log/nginx/error.log
결론

이 가이드에서는 Debian 10 인스턴스에 Nginx를 설치하고 추가 도메인을 지원하도록 추가로 구성하는 방법을 배웠습니다. 이 가이드가 도움이 되었기를 바랍니다. 귀하의 의견을 환영합니다..