Dalam tutorial ini, akan dijelaskan cara menginstal nginx dengan ngx_pagespeed di OS Ubuntu untuk meningkatkan kinerja situs web nginx.
1. Instal Nginx
Untuk membangun nginx dengan ngx_pagespeed diperlukan paket-paket berikut untuk diinstal pada sistem.
# apt-get install build-essential zlib1g-dev libpcre3 libpcre3-dev unzip
Berikutnya,
download berkas versi terbaru dari Nginx (1.13.2 pada tulisan ini)
menggunakan perintah wget dan ekstrak berkas tersebut
# mkdir -p ~/make_nginx
# cd ~/make_nginx
# wget -c <a href="https://nginx.org/download/nginx-1.13.2.tar.gz">https://nginx.org/download/nginx-1.13.2.tar.gz</a>
# tar -xzvf nginx-1.13.2.tar.gz
Selanjutnya,
download berkas ngx_pagespeed
# wget -c https://github.com/pagespeed/ngx_pagespeed/archive/v1.12.34.2-stable.zip
#
unzip v1.12.34.2-stable.zip
Kemudian
pindah ke direktori ngx_pagespeed dan download optimasi ngx_pagespeed
untuk mengkompilasi nginx
# cd incubator-pagespeed-ngx-1.12.34.2-stable/
#
wget -c https://dl.google.com/dl/page-speed/psol/1.12.34.2-x64.tar.gz
# tar -xvzf 1.12.34.2-x64.tar.gz
2. Konfigurasi dan kompilasi nginx dengan ngx_pagespeed
Selanjutnya pindah ke direktori nginx-1.13.2, dan melakukan konfigurasi nginx
# cd ~/make_nginx/nginx-1.13.2
# ./configure --add-module=$HOME/make_nginx/incubator-pagespeed-ngx-1.12.34.2-stable/ ${PS_NGX_EXTRA_FLAGS}
Kompilasi dan instal nginx
# make
# make install
Setelah proses instalasi selesai, jalankan perintah di bawah ini untuk membuat symlink yang diperlukan untuk nginx
# ln -s /usr/local/nginx/conf/ /etc/nginx
# ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx
3. Membuat berkas unit nginx untuk systemd
# nano /lib/systemd/system/nginx.service
Gunakan konfigurasi berikut dan simpan
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
Pastikan nginx statusnya aktif
# systemctl start nginx
# systemctl status nginx
4. Konfigurasi nginx dengan modul pagespeed
Pertama buat direktori modul untuk situs web yang akan dibangun dan mengatur hak akses yang sesuai pada direktori
# mkdir -p /var/ngx_pagespeed_cache
# chown -R nobody:nogroup /var/ngx_pagespeed_cache
# nano /etc/nginx/nginx.conf
Tambahkan baris konfigurasi Ngx_pagespeed berikut dalam konfigurasi nginx
# Pagespeed main settings
pagespeed on;
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 ~ "^/ngx_pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon" { }
Simpan dan tutup berkas
Cek status nginx dengan command
# nginx –t
Setelah
itu restart server nginx
# systemctl restart nginx
5. Test nginx dengan ngx_pagespeed
Sekarang mengecek apakah ngx-pagespeed sudah bekerja dengan pada nginx menggunakan perintah Curl berikut:
# curl -I -p http://localhost
Jika hasilnya berisi HTTP 200 tertera pada header dan X-Page-Speed dengan nomor versi pagespeed, artinya sudah berfungsi dengan baik.