웹사이트 검색

Ubuntu 16.04(Xenial Xerus)에 nginx 및 Google PageSpeed를 설치하는 방법


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • Ubuntu 15.04(Vivid Vervet)

이 페이지에서

  1. 전제 조건
    1. 빌드 종속성 설치
    2. ngx_pagespeed로 nginx 설치
      1. 1단계 - nginx 저장소 추가
      2. 2단계 - 우분투 저장소에서 nginx 1.10 다운로드
      3. 3단계 - Pagespeed 다운로드
      4. 4단계 - Pagespeed로 빌드하도록 nginx 구성\n
      5. 5단계 - nginx Ubuntu 패키지 빌드 및 설치

      1. 1단계 - Nginx 명령으로 테스트
      2. 2단계 - Curl 명령으로 테스트

      Nginx(engine-x)는 오픈 소스 및 고성능 HTTP 서버, 리버스 프록시 및 IMAP/POP3 프록시 서버입니다. Nginx의 뛰어난 기능은 안정성, 풍부한 기능 세트, 간단한 구성 및 낮은 메모리 소비입니다. 이 가이드에서는 Google PageSpeed 모듈이 컴파일된 소스에서 Ubuntu 16.04용 Nginx .deb 패키지를 빌드하는 방법을 보여줍니다.


      PageSpeed는 웹사이트 응답 시간을 단축하고 반환된 HTML을 최적화하며 페이지 로드 시간을 줄이기 위해 Google에서 개발한 웹 서버 모듈입니다. ngx_pagespeed 기능은 다음과 같습니다.

      • 이미지 최적화: 메타데이터 제거, 동적 크기 조정, 재압축.\n
      • CSS 및 JavaScript 축소, 연결, 인라인 및 개요.
      • 작은 리소스 인라인.
      • 이미지 및 자바스크립트 로딩 지연.
      • HTML 재작성.
      • 캐시 수명 연장.

      자세한 내용은 https://developers.google.com/speed/pagespeed/module/을 참조하세요.

      전제 조건

      • Ubuntu 서버 16.04 - 64비트
      • 루트 권한\n

      이 자습서에서 수행할 작업:

      1. 필수 패키지를 설치합니다.\n
      2. ngx_pagespeed로 nginx 설치.
      3. 테스트 중.

      빌드 종속성 설치

      sudo apt-get install dpkg-dev build-essential zlib1g-dev libpcre3 libpcre3-dev unzip

      ngx_pagespeed로 nginx 설치하기

      1단계 - nginx 저장소 추가

      vim으로 새 저장소 파일 /etc/apt/sources.list.d/nginx.list를 만듭니다.

      vim /etc/apt/sources.list.d/nginx.list

      거기에 다음 줄을 추가합니다.

      deb http://nginx.org/packages/ubuntu/ xenial nginx
      deb-src http://nginx.org/packages/ubuntu/ xenial nginx

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

      키를 추가하고 저장소를 업데이트합니다.

      sudo sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ABF5BD827BD9BF62
      sudo apt-get update

      2단계 - 우분투 저장소에서 nginx 1.10 다운로드

      nginx 소스 파일을 위한 새 디렉토리를 만들고 apt를 사용하여 nginx 소스를 다운로드합니다.

      cd ~
      mkdir -p ~/new/nginx_source/
      cd ~/new/nginx_source/
      apt-get source nginx

      경우에 따라 패키지를 인증할 수 없다는 오류가 발생합니다.

      아래 명령을 입력하여 해결할 수 있습니다.

      rm -rf /var/lib/apt/lists/
      apt-get update

      다음으로 모든 종속성을 설치하여 nginx 패키지를 빌드합니다.

      apt-get build-dep nginx

      3단계 - Pagespeed 다운로드

      PageSpeed용 새 디렉토리를 만들고 PageSpeed 소스를 다운로드합니다.

      이 자습서에서는 pagespeed 1.11.33을 사용합니다.

      mkdir -p ~/new/ngx_pagespeed/
      cd ~/new/ngx_pagespeed/
      ngx_version= 1.11.33.3
      wget https://github.com/pagespeed/ngx_pagespeed/archive/release-${ngx_version}-beta.zip
      unzip release-${ngx_version}-beta.zip

      cd ngx_pagespeed-release-${ngx_version}-beta/
      wget https://dl.google.com/dl/page-speed/psol/${ngx_version}.tar.gz
      tar -xzvf ${ngx_version}.tar.gz

      4단계 - Pagespeed로 빌드하도록 nginx 구성

      nginx_source 디렉토리로 이동하여 vim으로 규칙 파일을 편집합니다.

      cd ~/new/nginx_source/nginx-1.10.1/debian/
      vim rules

      COMMON_CONFIGURE_ARGS 아래에 새 줄을 추가합니다.

      --add-module=../../ngx_pagespeed/ngx_pagespeed-release-1.11.33.3-beta \

      저장 및 종료.

      5단계 - nginx Ubuntu 패키지 빌드 및 설치

      nginx 소스 디렉토리로 이동하고 dpkg-buildpackage 명령어를 사용하여 소스에서 nginx를 빌드합니다.

      cd ~/new/nginx_source/nginx-1.10.1/
      dpkg-buildpackage -b

      nginx Ubuntu 패키지는 ~/new/ngix_source/에 저장됩니다. 패키지 구축이 완료되면 다음 디렉토리를 살펴보십시오.

      cd ~/new/ngix_source/
      ls

      dpkg 명령으로 nginx 및 모듈 deb를 설치합니다.

      dpkg -i *.deb

      테스트

      1단계 - Nginx 명령으로 테스트

      nginx -V를 실행하여 ngx_pagespeed 모듈이 nginx에 내장되어 있는지 확인합니다.

      nginx -V

      2단계 - Curl 명령으로 테스트

      nginx 구성 디렉토리로 이동합니다.

      cd /etc/nginx/conf.d/

      기본 가상 호스트 구성 파일을 편집합니다.

      vim default.conf

      ngx_pagespeed를 활성화하려면 아래 구성을 붙여넣으십시오.

      pagespeed on;

      # Needs to exist and be writable by nginx.  Use tmpfs for best performance.
      pagespeed FileCachePath /var/ngx_pagespeed_cache;

      # Ensure requests for pagespeed optimized resources go to the pagespeed handler
      # and no extraneous headers get set.
      location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
        add_header "" "";
      }
      location ~ "^/pagespeed_static/" { }
      location ~ "^/ngx_pagespeed_beacon$" { }

      저장 및 종료.

      다음으로 nginx 구성 파일을 테스트하고 오류가 없는지 확인합니다.

      nginx -t

      nginx를 다시 시작합니다.

      systemctl restart nginx

      마지막으로 curl 명령을 사용하여 nginx 웹 서버에 액세스합니다.

      curl -I 192.168.1.6

      결론

      nginx 웹 서버에는 콘텐츠 전달 최적화를 위한 다양한 모듈을 지원하는 안정적이고 빠른 오픈 소스 http 서버가 있습니다. 이러한 모듈 중 하나는 Google에서 개발한 PageSpeed 모듈입니다. Apache와 달리 nginx 모듈은 동적으로 로드할 수 없으므로 nginx 패키지를 빌드할 때 원하는 모듈을 선택해야 합니다.