Membangun Nginx dengan Pagespeed di Ubuntu 16.04

-

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.g


# 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.