Ubuntu 16.04(Xenial Xerus)에 nginx 및 Google PageSpeed를 설치하는 방법
이 튜토리얼은 다음 OS 버전에 대해 존재합니다.
- Ubuntu 15.04(Vivid Vervet)
이 페이지에서
- 전제 조건
- 빌드 종속성 설치
- ngx_pagespeed로 nginx 설치
- 1단계 - nginx 저장소 추가
- 2단계 - 우분투 저장소에서 nginx 1.10 다운로드
- 3단계 - Pagespeed 다운로드
- 4단계 - Pagespeed로 빌드하도록 nginx 구성\n
- 5단계 - nginx Ubuntu 패키지 빌드 및 설치
- 1단계 - Nginx 명령으로 테스트
- 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
이 자습서에서 수행할 작업:
- 필수 패키지를 설치합니다.\n
- ngx_pagespeed로 nginx 설치.
- 테스트 중.
빌드 종속성 설치
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 update2단계 - 우분투 저장소에서 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.gz4단계 - Pagespeed로 빌드하도록 nginx 구성
nginx_source 디렉토리로 이동하여 vim으로 규칙 파일을 편집합니다.
cd ~/new/nginx_source/nginx-1.10.1/debian/
vim rulesCOMMON_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 -bnginx Ubuntu 패키지는 ~/new/ngix_source/에 저장됩니다. 패키지 구축이 완료되면 다음 디렉토리를 살펴보십시오.
cd ~/new/ngix_source/
lsdpkg 명령으로 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 패키지를 빌드할 때 원하는 모듈을 선택해야 합니다.