번에 mod_PageSpeed를 다시 설치하려고 기존에 적용했던 [워드프레스 속도 개선] NGINX에 구글 페이지스피드(mod_PageSpeed)로 속도 개선 방법
를 다시 꺼내서 시도를 했는데 조금 씩 문제가 있어서 다른 방법을 찾아 보았습니다.
우성군(사이트에서 우성군이라고 칭하고 있습니다.)이 제안한 방식이 괜찮아서 이를 참조했습니다.
mod_PageSpeed가 좋은 툴이긴 하지만 시스템 특성을 많이 타는 것 같긴 합니다. 패키지 설치가 아니라 모듈을 추출해야하다보니 쉬운 것은 아닌 듯..
이 방법을 간단히 정리해서 같이 공유해 봅니다.
![[워드프레스 속도 개선] Nginx에 페이지스피드(mod_PageSpeed)설치 방법 두번째 1 구글 페이지 스피드 pagespeed2](https://happist.com/wp-content/uploads/2017/05/구글-페이지-스피드-pagespeed2.png)
1. 작업 폴더로 이동하기
자기가 작업할 폴더로 이동합니다. 저는 주로 root밑에서 작업을 했는데요. 그러다보니 권한 문제에 종종 봉착해서 /usr/local/src에서 작업했습니다.
cd /usr/local/src
2. ngx_pagespeed 소스 다운 받기
소스를 받으려면 최신 버젼 확인해야 합니다.
아래로 들어가서 최신 버젼 확인 합니다.
최신 버젼 확인 PageSpeed Release Notes
2017년 5월 25일 현재 최신 버젼은 1.12.34.2-beta를 알 수 있습니다.
앞으로 1.12.34.2버젼을 많이 사용할 것이므로 이를 연결하는 명령을 줍니다.
즉 아래와 같은 명령을 주면 NPS_VERSION이 들어간 곳은 1.12.34.2로 변환된다고 합니다.
알면 참 편한 명령어입니다.
NPS_VERSION=1.12.34.2
아래는 ngx_pagespeed 소스 받는 명령어입니다.
wget https://github.com/pagespeed/ngx_pagespeed/archive/v${NPS_VERSION}-beta.zip
unzip v${NPS_VERSION}-beta.zip
rm -f v${NPS_VERSION}-beta.zip
cd ngx_pagespeed-${NPS_VERSION}-beta/
psol_url=https://dl.google.com/dl/page-speed/psol/${NPS_VERSION}.tar.gz
[ -e scripts/format_binary_url.sh ] && psol_url=$(scripts/format_binary_url.sh PSOL_BINARY_URL)
wget ${psol_url}
tar -xzvf $(basename ${psol_url})
cd ../
3. Nginx 소스 컴파일 설치
이제는 Nginx모듈을 설치해야 합니다.
마찬가지로 Nginx를 설치가 편한 폴더로 이동해서 합니다.
이동한 다음 여기서 기본 필수 패키지를 설치합니다.
cd /usr/local/src
apt-get install build-essential libpcre3 libpcre3-dev zlib1g-dev unzip git
Nginx 소스 파일을 다운받습니다.
당시 최신버젼은 1.13.0이었습니다. 버젼이 바뀌면 바뀐 버젼으로 변경하면 됩니다.
wget -c https://nginx.org/download/nginx-1.13.0.tar.gz
tar zxf nginx-1.13.0.tar.gz
rm -f nginx-1.13.0.tar.gz
이제 Nginx 컴파일을 설치합니다.
cd nginx-1.13.0
./configure --add-module=../ngx_pagespeed-${NPS_VERSION}-beta ${PS_NGX_EXTRA_FLAGS}
make
make install
여기서 제대로 설치가 안되는 경우는 아래에서 제안하는 모든 것으로 제대로 설치 후 아래 옵션을 진행해 보시기 바랍니다.
Nginx 소스 컴파일 설치 및 HTTPS 설정하기 우분투 16.04
- 클라우드 플레어 SSL 패치 설치 및 ChaCha20 / Poly1305 적용
- 인증서 투명성 모듈 설치
- headers-more-nginx-module 설치
- 브로틀리 압축(ngx_brotli) 설치
- ngx_brotli 소스 다운로드
cd nginx-1.13.0
./configure --with-cc-opt='-Wno-deprecated-declarations' --sbin-path=/usr/sbin/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/run/nginx.pid --with-openssl=../openssl-1.0.2j --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-http_perl_module=dynamic --with-threads --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_geoip_module=dynamic --with-http_slice_module --with-mail --with-mail_ssl_module --with-file-aio --with-http_v2_module --add-module=../nginx-ct-master --add-module=../headers-more-nginx-module --add-module=../ngx_brotli
--add-module=../ngx_pagespeed-${NPS_VERSION}-beta ${PS_NGX_EXTRA_FLAGS}
make
make install
![[워드프레스 속도 개선] Nginx에 페이지스피드(mod_PageSpeed)설치 방법 두번째 2 Featured_컴퓨터 구글 어낼리틱스 PC Notebook computer-767776](https://happist.com/wp-content/uploads/2017/05/Featured_컴퓨터-구글-어낼리틱스-PC-Notebook-computer-767776.jpg)
4. 최적화 세팅
nginx.conf에서 아래와 같은 옵션을 사용했습니다.
# enable pagespeed module on this server block
pagespeed on;
# let's speed up PageSpeed by storing it in the super duper fast memcached
pagespeed MemcachedThreads 1;
pagespeed MemcachedServers "localhost:11211";
# This setting should be enabled when using HTTPS
# Take care when using HTTP > HTTPS redirection to avoid loops
pagespeed MapOriginDomain http://happist.com https://happist.com;
# show half the users an optimized site, half the regular site
pagespeed RunExperiment on;
pagespeed AnalyticsID **-********-1;
pagespeed ExperimentVariable 1;
pagespeed ExperimentSpec "id=1;percent=50;level=CoreFilters;enabled=collapse_whitespace,remove_comments;";
pagespeed ExperimentSpec "id=2;percent=50";
pagespeed EnableFilters extend_cache;
pagespeed JpegRecompressionQuality 65;
# Filter settings
pagespeed RewriteLevel CoreFilters;
pagespeed EnableFilters collapse_whitespace,remove_comments;
pagespeed EnableFilters prioritize_critical_css;
pagespeed EnableFilters inline_javascript;
pagespeed EnableFilters defer_javascript;
pagespeed EnableFilters combine_css,combine_javascript;
pagespeed EnableFilters collapse_whitespace;
pagespeed EnableFilters insert_dns_prefetch;
pagespeed EnableFilters collapse_whitespace,remove_comments;
pagespeed EnableFilters make_google_analytics_async,make_show_ads_async;
pagespeed EnableFilters rewrite_css,rewrite_javascript; # enable CSS, Javascript optimization
pagespeed EnableFilters sprite_images;
pagespeed EnableFilters rewrite_images; # enable image optimization
pagespeed EnableFilters convert_png_to_jpeg,convert_jpeg_to_webp;
pagespeed EnableFilters resize_mobile_images;
pagespeed EnableFilters lazyload_images;
# needs to exist and be writable by nginx 755로 되어 있음
# cache 비우는 방법 Flushing PageSpeed Sever-ide Cache
# rm -rf /var/ngx_pagespeed_cache/* or touch /var/ngx_pagespeed_cache/cache.flush
# ngxrestart
pagespeed FileCachePath /var/ngx_pagespeed_cache;
pagespeed FileCacheSizeKb 1024000000; # cache를 적용 후 다 차면 비운다
pagespeed FileCacheInodeLimit 50000000;
pagespeed CssFlattenMaxBytes 5120;
pagespeed LRUCacheKbPerProcess 8192;
pagespeed LRUCacheByteLimit 16384;
# onfiguring SSL Certificates
pagespeed SslCertDirectory directory;
pagespeed SslCertFile file;
pagespeed RewriteLevel CoreFilters;
pagespeed FetchWithGzip on;


















































![[워드프레스 Tips] Lets' Encrypt SSL 인증서 수동 갱신 방법 53 SSL-인증기관-lets-encrypt-2](https://happist.com/wp-content/uploads/2016/09/SSL-인증기관-lets-encrypt-2.jpg)
![[워드프레스 Tips] Lets' Encrypt SSL 인증서 수동 갱신 방법 54 Lets_Encrypt-인증서-발급추이_서버기준_1600918](https://happist.com/wp-content/uploads/2016/09/Lets_Encrypt-인증서-발급추이_서버기준_1600918.jpg)
![[워드프레스 Tips] Lets' Encrypt SSL 인증서 수동 갱신 방법 55 Lets_Encrypt-인증서-발급추이_1600918](https://happist.com/wp-content/uploads/2016/09/Lets_Encrypt-인증서-발급추이2_1600918.jpg)
![[워드프레스 Tips] Lets' Encrypt SSL 인증서 수동 갱신 방법 56 lets-encrypt-%ec%84%a4%ec%b9%98-%ed%99%94%eb%a9%b405_email](https://happist.com/wp-content/uploads/2016/09/LETs-Encrypt-설치-화면05_email.jpg)
![[워드프레스 Tips] Lets' Encrypt SSL 인증서 수동 갱신 방법 57 lets-encrypt-%ec%84%a4%ec%b9%98-%ed%99%94%eb%a9%b406-read-pdf](https://happist.com/wp-content/uploads/2016/09/LETs-Encrypt-설치-화면06-read-pdf.jpg)
![[워드프레스 Tips] Lets' Encrypt SSL 인증서 수동 갱신 방법 58 lets-encrypt-%ec%84%a4%ec%b9%98-%ed%99%94%eb%a9%b4](https://happist.com/wp-content/uploads/2016/09/LETs-Encrypt-설치-화면.jpg)
![[워드프레스 Tips] Lets' Encrypt SSL 인증서 수동 갱신 방법 59 lets-encrypt-%ec%84%a4%ec%b9%98-%ed%99%94%eb%a9%b402](https://happist.com/wp-content/uploads/2016/09/LETs-Encrypt-설치-화면02.jpg)
![[워드프레스 Tips] Lets' Encrypt SSL 인증서 수동 갱신 방법 60 lets-encrypt-%ec%84%a4%ec%b9%98-%ed%99%94%eb%a9%b406-%ec%84%b1%ea%b3%b5%ed%95%98%eb%a9%b4](https://happist.com/wp-content/uploads/2016/09/LETs-Encrypt-설치-화면06-성공하면.jpg)
![[워드프레스 Tips] Lets' Encrypt SSL 인증서 수동 갱신 방법 61 A+이 나온 SSL Test 결과](https://happist.com/wp-content/uploads/2016/09/SSL-Test-결과2-resize.jpg)
![[워드프레스 Tips] Lets' Encrypt SSL 인증서 수동 갱신 방법 62 워드프레스와 사이트 주소에 S를 붙임](https://happist.com/wp-content/uploads/2016/09/워드프레스와-사이트-주소에-S를-붙여-수정.jpg)















![[워드프레스 Tips] Newspaper7테마에서 Visual Composer(비주얼 컴포저) 속도는 쓸만할까? 78 Happist.com 비쥬얼컴포우져 비적용+최근글 Screenshot 2017-05-14 at 11.52.58](https://happist.com/wp-content/uploads/2017/05/Happist.com-비쥬얼컴포우져-비적용최근글-Screenshot-2017-05-14-at-11.52.58.jpg)
![[워드프레스 Tips] Newspaper7테마에서 Visual Composer(비주얼 컴포저) 속도는 쓸만할까? 79 Newspaper 속도 측정 최근글3 Crop Screenshot 2017-05-14 at 11.55.58](https://happist.com/wp-content/uploads/2017/05/Newspaper-속도-측정-최근글3-Crop-Screenshot-2017-05-14-at-11.55.58.jpg)
![[워드프레스 Tips] Newspaper7테마에서 Visual Composer(비주얼 컴포저) 속도는 쓸만할까? 80 Happist.com 비쥬얼컴포우져 비적용+ Homepage Screenshot 2017-05-14 at 11.58.11](https://happist.com/wp-content/uploads/2017/05/Happist.com-비쥬얼컴포우져-비적용-Homepage-Screenshot-2017-05-14-at-11.58.11.jpg)
![[워드프레스 Tips] Newspaper7테마에서 Visual Composer(비주얼 컴포저) 속도는 쓸만할까? 81 Newspaper 속도 측정 Homepage 3 Crop Screenshot 2017-05-14 at 11.59.56](https://happist.com/wp-content/uploads/2017/05/Newspaper-속도-측정-Homepage-3-Crop-Screenshot-2017-05-14-at-11.59.56.jpg)
![[워드프레스 Tips] Newspaper7테마에서 Visual Composer(비주얼 컴포저) 속도는 쓸만할까? 82 Happist.com Visual Composer(비주얼 컴포저) 적용 Screenshot 2017-05-14 at 11.51.05](https://happist.com/wp-content/uploads/2017/05/Happist.com-비쥬얼컴포우져-적용-Screenshot-2017-05-14-at-11.51.05.jpg)
![[워드프레스 Tips] Newspaper7테마에서 Visual Composer(비주얼 컴포저) 속도는 쓸만할까? 83 Newspaper 속도 측정 Visual Composer(비주얼 컴포저) 적용 시3 Crop Screenshot 2017-05-14 at 12.19.22](https://happist.com/wp-content/uploads/2017/05/Newspaper-속도-측정-비쥬얼-컴포우저3-Crop-Screenshot-2017-05-14-at-12.19.22.jpg)

