Ubuntu 16.04에서 ngx_pagespeed 모듈을 포함한 nginx deb 패키지 컴파일

Ubuntu(우분투) 16.04 에서 ngx_pagespeed 모듈을 포함한 deb 패키지를 컴파일 하는 방법이다. nginx.org 에서 배포하는 패키지에는 pagespeed 모듈이 없기 때문에 직접 소스 컴파일 후 nginx를 설치하거나 아래의 방법으로 pagespeed 모듈을 포함한 패키지를 컴파일해서 설치해야 한다. 패키지를 만들게 되면 다른 서버에도 설치할 수 있는 장점이 있다. 아래 과정은 우분투 16.04 Server 환경을 기준으로 한다.

Google PageSpeed Module : https://developers.google.com/speed/pagespeed/module/

1. nginx 저장소 추가

nginx.org에서 제공하는 우분투 저장소를 설정한다.

사인키 설치 후 /etc/apt/sources.list 파일에 아래 저장소 설정을 추가한다. nano 에디터를 사용한다면 아래와 같이 입력한다.

로컬 패키지 인덱스를 업데이트 한다.

2. nginx 소스 다운로드

3. ngx_pagespeed 소스 다운로드

4. 모듈 컴파일을 위한 설정추가

rules 파일에 아래와 같이 ngx_pagespeed 모듈의 경로를 지정한다.

config.status.nginx 에 추가된 설정은 –add-module=/opt/nginx/ngx_pagespeed-1.12.34.3-stable 이다.

5. 패키지 버전 변경

dch 명령어를 통해 버전을 변경한다. 여기서는 .pagespeed 를 추가했다. dch 명령어를 처음 실행하면 에디터를 선택하는 화면이 표시된다. 에디터 선택 후 debian/changelog 파일이 열린다. 아래 내용을 추가했다.

dch 명령어가 없다면 아래 명령어로 devscripts 패키지를 설치한다.

6. 컴파일을 위한 패키지 설치

7. 패키지 컴파일

컴파일된 deb 파일은 /opt/nginx 디렉토리에 생성된다. deb 파일을 설치하려면 아래 명령을 실행한다.

만약 nginx가 이미 설치되어 있어 다시 설치하는 경우는 아래 명령을 실행한다.

nginx 설치 후 nginx -V 명령을 실행해 ngx_pagespeed 모듈이 추가됐는지 확인한다.

마지막에 –add-module=/opt/nginx/ngx_pagespeed-1.12.34.3-stable 가 추가된 것을 확인할 수 있다.

8. ngx_pagespeed 모듈 설정

캐시를 저장할 디렉토리를 생성하고 소유권을 nginx에서 접근할 수 있도록 변경한다. 위에서는 nginx의 유저가 www-data인 경우이다.

위 설정은 ngx_pagespeed 모듈을 적용하고자하는 사이트의 server 블럭에 추가한다. 설정 추가 후 nginx -t 명령을 실행 설정에 오류가 있는지 확인하고 오류가 없으면 nginx를 reload 한다.

아래 명령을 실행해 pagespeed 헤더가 있는지 체크한다.

결과는 아래와 같이 표시된다. 크롬 개발자 도구에서도 확인할 수 있다.

nginx 1.12.2-1.pagespeed 패키지 : https://drive.google.com/file/d/1dz9CRka4289ScPGbWJOBXasnl-8Bkw9x/view?usp=sharing

참고

편리

PHP와 MariaDB, jQuery 등을 사용해 게시판, 쇼핑몰 솔루션을 개발합니다. 그누보드5와 영카트5 개발에 참여 했습니다. Linux와 Nginx는 물론 WordPress, Git 등에도 관심이 많습니다. 자전거 타기 및 사진 촬영을 취미로 하고 있습니다.

Leave a Reply

Your email address will not be published. Required fields are marked *