Nginx 서버를 처음 설치하고 구성하는 방법

Nginx 서버를 처음 설치하고 구성하는 방법

2022-06-03 last update

6 minutes reading Nginx
Nginx는 유행하는 웹 서버 중 하나로 프록시 서버, 역방향 프록시 서버와 부하 평형기로 사용된다.노화된 아파치 웹 서버의 유행 대체품이다. 자원 집약형 응용 프로그램을 고려한 디자인이기 때문이다.이것은 이벤트 구동, 비동기적, 비저지적이기 때문에 성능 면에서 아파치보다 자주 낫다.Nginx는 보통 대형 웹 서버에 사용되며, 수백만 명의 사용자가 자원에 접근하기 위해 이 서버에 연결됩니다.
비동기적이기 때문에 서버 속도를 늦추지 않고 수백만 명의 사용자를 처리하는 능력은 많은 기업들이 시스템을 배치하는 데 가장 좋은 선택이 되었다.이 설명서는 Nginx 웹 서버를 쉽게 설치하고 구성하는 방법을 보여 줍니다.이 안내서는 LTS이기 때문에 Ubuntu 18.04를 버전으로 사용합니다.따라서 그것은 생산 환경에 필요한 장기적인 지원을 가지고 있다.Nginx 웹 서버를 설치하고 설정하는 것은 비교적 쉽지만, 많은 절차와 관련이 있다.

설치


이 명령들은 Ubuntu 18.04 LTS 버전을 위한 것이기 때문에 다른 Linux 버전에서 사용해서는 안 된다. 같은 명령이 없으면 그곳에서 일해야 한다.보안 위험을 낮추려면 sudo 권한이 있는 일반 사용자 계정에 Nginx를 설치하는 것이 좋습니다.그러나 본고는 사용자 계정을 만드는 방법을 보여 주지 않았습니다. 왜냐하면 사용자 계정이 범위를 초과했기 때문입니다.
  • Nginx를 설치하기 전에 로컬 패키지 정보를 업데이트하고 다음 명령을 사용하여 패키지를 업데이트합니다.Nginx install 명령을 사용하면 저장소(서버)에서 Nginx의 최신 버전을 읽어들일 수 있습니다.Dist upgrade 명령은 서로 다른 패키지 간에 호환되지 않는 문제를 방지하기 위해 의존 관계를 지능적으로 처리합니다.
  • apt-get update && apt-get dist-upgrade
  • 다음 명령
  • 을 사용하여 Nginx 설치
    apt-get install nginx
  • 설치는 3개의 주 명령만 사용하고 서버에 Nginx를 설치하면 됩니다.이 안내서에서 Nginx는 웹 서버, 인덱스로 사용되기 때문입니다.Nginx가 설치되면 html을 만들고 서버의 외부 IP 주소를 통해 접근할 수 있습니다.
  • http://IPAddress
  • 설치된 경우에도 서버가 어떤 이유로 다시 시작하면 Nginx 서비스가 자동으로 시작되는지 확인하는 것이 중요하다.다음과 같은 방식으로 진행할 수 있다.
  • sudo systemctl enable nginx
  • 다음 두 명령을 사용하여 파일 시스템 권한을 조정합니다.첫 번째 명령은 현재 로그인한 사용자 이름을 파일에 할당하는 권한입니다.만약 그것이 뿌리라면, 그것은 뿌리이고, 사용자 정의 이름이라면, 그것의 이름이다.두 번째 명령을 사용하여 파일에 대한 권한을 설정합니다.모든 사용자의 권한이 R로 설정되어 있기 때문에 누구나 이 파일을 읽을 수 있습니다. 이것은 공개적으로 접근할 수 있는 파일에 추천합니다.W쓰기 권한 표준, 소유자는 이 표준을 사용해야 파일을 변경할 수 있습니다. 서버(예를 들어 워드프레스 대시보드에서) 스크립트를 통해 파일을 수정할 때 이 표준은 매우 편리합니다.
  • sudo chown -R $USER:$USER /var/www/html
    sudo chmod -R 755 /var/www/example.com

    프로비저닝


    Nginx를 설치하는 것은 위에서 설명한 바와 같이 간단하지만 설정에 더 많은 노력이 필요합니다. 이것은 서버의 요구와 환경에 달려 있습니다.이 안내서는 도메인에 인덱스 웹 서버를 설정하는 방법, 기본 설정을 조정하는 방법, SSL/TLS를 설정하는 방법을 보여 줍니다. 이것은 Google이 사이트 순위를 높이는 데 필요한 것입니다. 마지막으로 인덱스 서버를 설정하려면 어떤 명령을 사용해야 하는지 소개합니다.
  • 다음 명령을 사용하여 나노 편집기를 통해 Nginx 기본 파일을 엽니다.Nginx를 처음 설치할 때 기본 파일이 자동으로 만들어지고 웹 서버 설정이 정의됩니다.이 설정은 도메인 이름에 대한 서버 블록을 포함하고 경계 내의 규칙에 따라 도메인에 대한 요청을 처리합니다.Nano 편집기는 콘솔 편집기로서 텍스트 파일을 쉽게 열 수 있습니다.콘솔 텍스트 편집기에 비해 사용자에게 매우 친절하기 때문에 Notepad++와 NppFTP 확장과 같은 더 좋은 편집기를 사용하는 것을 강력히 권장합니다.
  • nano /etc/nginx/sites-available/default
    프로필은 다음 코드 세그먼트에 표시된 몇 줄의 중요한 내용을 포함합니다.
  • Listen 명령은 수신할 IP 주소의 포트 번호를 지정합니다.암호화된 웹 서버에 연결하는 것은 443이고, 암호화되지 않은 웹 서버에 대해서는 80이다.Default\u 서버는 모든 서버 블록의 기본 서버로 만듭니다. 이것은 요청한 헤더 필드가 지정한 서버 이름과 일치하지 않으면 이 서버 블록을 실행합니다.호스트 이름이 무엇이든 (이 예에서 도메인을 가리키는 것) 서버에 대한 모든 요청을 포착하는 데 유용합니다.
  • Server\u name 은 일반적으로 도메인 이름인 호스트 이름을 지정합니다.나체와 www 스타일의 도메인 이름을 동시에 사용하는 것을 권장합니다. 예를 들어...
  • server_name google.com www.google.com
  • Root 명령은 웹 페이지가 파일 서버에 있는 위치(예: 인덱스)를 지정합니다.html와 사이트의 모든 다른 하위 폴더.이 명령은 사이트 루트 폴더의 경로만 가리키고 나머지 경로는 이 경로에 비해 가져옵니다.
  • Index 명령은 웹 브라우저의 주소 표시줄에 호스트 이름을 입력할 때 열리는 인덱스 파일의 이름을 지정합니다.
  • 위치 블록은 Google과 같은 호스트 이름의 명령을 처리하는 데 사용됩니다.com/이미지/비디오.도메인 이름을 캡처하는 루트 명령입니다.try\u files 명령은 내용(파일, 폴더)에 서비스를 제공하거나 자원을 사용할 수 없을 때 찾지 못한 메시지를 내보냅니다.처리/비디오 디렉토리가 필요한 경우 위치/비디오를 사용합니다.
  • server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;
    root   /var/www/html/;
    index index.php index.html index.htm;
    location / {
    try_files $uri $uri/ =404;
    }
    }
  • 서버를 처음 구성한 후 다시 시작하는 것이 좋습니다.nginx 서비스를 다시 시작하고 프로필을 다시 불러옵니다.프로필에 간단한 변경이 있었다면, 다시 시작하지 않고 다시 불러오기를 사용하면 서버에 연결이 끊어지는 것을 방지할 수 있습니다.
  • sudo systemctl restart nginx
  • 현재 사이트의 구글 인덱스 랭킹을 높이기 위해서는 암호화와 사이트의 연결이 매우 중요하다.암호화는 웹 서버에서 SSL/TLS 인증서를 통해 이루어집니다.시장에는 비용 지불 인증서와 무료 인증서를 포함한 많은 인증서가 있지만, 이 안내서는 let's encrypt라고 불리는 무료 인증서를 사용합니다.이것은 무료이지만 3개월에 한 번씩 인증서를 갱신해야 하며, 상업 인증서는 1년이다.다음 명령은certbot PPA(개인 소프트웨어 패키지 압축 파일)를 시스템에 추가합니다.이러한 PPA는 launchpad에 관리됩니다.net, aptget을 사용할 때 시스템에 바로 다운로드됩니다.
  • sudo add-apt-repository ppa:certbot/certbot
  • 다음 명령은nginx에 사용되는certbot-flavor를 다운로드하고 설치합니다.위에서 말한 바와 같이, 이것은 launchpad에서 다운로드한 것이다.그물
  • sudo apt-get install python-certbot-nginx
  • 설치 후 다음 명령을 사용하여 지정된 도메인 이름과 www 스타일에 SSL/TLS를 사용합니다.이것은 상술한 단계에서 설정한 동일한 영역이어야 한다.도메인이 구성되지 않은 경우 이 단계 이전에 완료해야 합니다.
  • sudo certbot --nginx -d domain.extension
    -d www.domain.extension
  • 위에서 설명한 대로 SSL/TLS를 설치한 후 변경 사항을 적용하기 위해 서버를 다시 시작합니다.
  • sudo systemctl restart nginx
  • 또한 SSL/TLS 구성을 특정 요구 사항에 맞게 조정했기 때문에 다음 웹 사이트에서 설명한 구성을 사용하는 것이 좋습니다.다음 웹 사이트의 중요한 옵션은 현대, 중급, 구판을 포함한다.현대 옵션은 연결을 매우 안전하게 하지만, 호환성을 대가로 하기 때문에, 이 사이트는 비교적 오래된 we 브라우저에 불러오지 않습니다.중간 옵션은 호환성과 안전성을 균형 있게 하기 때문에 대부분의 사이트에 추천합니다.구형 유형은 유류 시스템에 사용됩니다.생산 사이트에 사용하는 것은 권장하지 않지만, 사용자가 오래된 웹 브라우저 (예를 들어 인터넷 탐색기 5) 에서 사이트를 방문하도록 경고하는 데 사용됩니다.
  • https://ssl-config.mozilla.org/

    결론


    Nginx는 프록시 서버, 역방향 프록시 서버와 부하 균형기로서 고성능 때문에 기업에서 웹 서비스를 제공하는 데 자주 사용된다.이 가이드에서는 Ubuntu 서버에서 Nginx 서버를 쉽게 처음 설치하고 구성하는 방법을 설명합니다.모든 명령이 층의 복잡한 작업을 추상화하기 때문에 설치와 설정은 그리 어렵지 않다.한마디로 Nginx를 사용하지 않을 이유가 없다. 기업이 Nginx가 다른 수요를 제공하지 않기를 기대하지 않는 한.