웹사이트 속도 향상을 위한 모듈 설치(PageSpeed Module)

PageSpeed 측정에서 점수가 똥으로 나와서 업뎃중..

앞서 브루틀리 압축 모듈과 마찬가지로 이번에도 모듈형식으로 설치해보겠다.

여기서는 Nginx

이전과 같이 동적 모듈로 사용하는걸로..

**참조

https://www.modpagespeed.com/doc/build_ngx_pagespeed_from_source

버전확인 nginx -v

-n 옵션은 nginx Version -m은 동적모듈로.

bash <(curl -f -L -sS https://ngxpagespeed.com/install) -n 1.14.0 -m

명령어를 입력하면 자동으로 nginx-1.14.0 버전도 같이 다운받아주고 설치도 진행해준다.

Y Y 만 잘누르자.
(이미 구축된 nginx 와 통합할때는 ./configure 할때 동일한 인수를 제공해야 되므로 nginx -V로 확인해서 argument를 잘 넣어주자)

이밋 설치되어 있으니까 일단 중단.
objs 폴더에 들어가서 복사

cp ngx_pagespeed.so /etc/nginx/mods

vi /etc/nginx/nginx.conf

모듈 로드

nginx -t

에러;

nginx: [emerg] module “/etc/nginx/mods/ngx_pagespeed.so” is not binary compatible in /etc/nginx/nginx.conf:4
nginx: configuration file /etc/nginx/nginx.conf test failed

위에서 말한대로 이미 구축할때 argument 인자값이 달라서 생기는 오류이다..

이러면 모듈을 다시 컴파일 해줘야한다.

처음으로 돌아가서

다지우고 다시시작.

bash <(curl -f -L -sS https://ngxpagespeed.com/install) -n 1.14.0 -m

이명령어로 nginx 다운까지만 받자.

여기서 바로 N

윗줄에 ./configure –add-dynamic-module=/root/incubator-pagespeed-ngx-latest-stable 는 기억해놓자.

그리고 nginx -V로 argument 확인

configure arguments: 다음부터 싹 복사해서 위 명령어와 합체.

cd /etc/nginx-1.14.0

./configure --add-dynamic-module=/root/incubator-pagespeed-ngx-latest-stable --with-cc-opt='-g -O2 -fdebug-prefix-map=/build/nginx-DUghaW/nginx-1.14.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fPIC' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_v2_module --with-http_dav_module --with-http_slice_module --with-threads --with-http_addition_module --with-http_geoip_module=dynamic --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_sub_module --with-http_xslt_module=dynamic --with-stream=dynamic --with-stream_ssl_module --with-mail=dynamic --with-mail_ssl_module

입력.(이미 설치되어있는 nginx 일경우 포함되어있는 arguments로 해야되기때문)

완료.

make modules;

cd objs && ll

생성확인.

기존 바이너리 파일이 다른거 삭제 후 다시 복사
rm -rf /etc/nginx/mods/ngx_pagespeed.so
cp ngx_pagespeed.so /etc/nginx/mods/

아까처럼 vi /etc/nginx/nginx.conf 설정파일 수정후 테스트

이제 캐쉬 폴더 만들기와 pagespeed 설정값을 넣자.

mkdir -p /home/nginx/cache
chown -R www-data:www-data /home/nginx/cache

만들고 nginx 권한.

그리고 설정값을 넣기위해 vi /etc/nginx/nginx.conf

가서 http{ 안에 아래 문구들 추가.

pagespeed on;
pagespeed FileCachePath "/home/nginx/cache/pagespeed";
pagespeed MessageBufferSize 100000;
pagespeed XHeaderValue "Powered By Pagespeed";

그리고 웹에 설정값 추가 vi /etc/nginx/site-available/default
에 들어가서 server{ 안에 추가.

#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$” { }
pagespeed RespectVary on;
pagespeed FileCacheSizeKb 102400;
pagespeed FileCacheCleanIntervalMs 3600000;
pagespeed FileCacheInodeLimit 500000;
pagespeed LRUCacheKbPerProcess 8192;
pagespeed LRUCacheByteLimit 16384;

내용 추가.
하고 저장 후 다시 nginx -t
다시시작.

테스트

https://tools.keycdn.com/curl

웹에서 curl을 도와주는 사이트이다.

꽤 많이빨라졌다.

해보자 일단;

 

————————————————–

사이트 리뉴얼중입니다~

서버(Linux, ESXi), NAS(헤놀로지, ESXi 및 IT관련 정보, 기타 등등을 공유하는 커뮤니티 SVRFORUM을 새로 만들었습니다.
많은 가입(?) 부탁드립니다~
https://svrforum.com

이전글들은 모두 상단 메뉴의 Blog 글 모음에있습니다!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

홈서버 IT 커뮤니티 SVRFORUM
Link