앞서 브루틀리 압축 모듈과 마찬가지로 이번에도 모듈형식으로 설치해보겠다.
이전과 같이 동적 모듈로 사용하는걸로..
**참조
https://www.modpagespeed.com/doc/build_ngx_pagespeed_from_source
-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를 잘 넣어주자)
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 다운까지만 받자.
윗줄에 ./configure –add-dynamic-module=/root/incubator-pagespeed-ngx-latest-stable 는 기억해놓자.
그리고 nginx -V로 argument 확인
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;
테스트
웹에서 curl을 도와주는 사이트이다.
꽤 많이빨라졌다.
해보자 일단;