Jadi ceritanya kontrak hosting saya di MedanWeb sudah akan habis. Saya tidak ingin memperpanjang kontrak saya, padahal saya sudah menjadi pelanggan setia selama kurang lebih 5 tahun.
Saya menjadi pelanggan sejak perusahaan itu bernama Dabooh, terus beralih jadi Xinergix, dan akhirnya jadi MedanWeb. Alasannya adalah saat itu harganya yang murah.
Secara performa layanan perusahaan ini memuaskan. Saya bahkan hampir tidak pernah pernah komplain. Respon layanan pelanggannya juga cepat.
Alasan saya kenapa tidak ingin memperpanjang kontrak saya di MedanWeb adalah karena saya mengenal DigitalOcean. DigitalOcean menawarkan self-managed hosting (VPS Cloud) yang berbasis SSD sehingga performanya sangat cepat (kekuatan SSD, solid-state disk) dan mudah digunakan (teknologi cloud).
Dengan harga yang cukup murah untuk ukuran VPS (US$ 5 per bulan), DigitalOcean menjadi pilihan hosting VPS yang layak diperhitungkan.
Jika dulu di MedanWeb saya mendapatkan akses cPanel untuk mengatur hosting saya karena saya pelanggan shared-hosting, di DigitalOcean saya cuma mendapat sistem operasi dasar. Namun bagi saya, ini menyenangkan karena saya bisa bebas melakukan apa pun yang tidak bisa saya lakukan saat berada di layanan shared-hosting.
Kenapa Nginx dan WordPress Multisitus?
Saya sudah lama tidak mengutak-atik Apache. Dalam pekerjaan, saya sering menggunakan Nginx. Saya pun berencana menjalankan blog saya yang berbasis WordPress ini di Nginx karena sudah terbiasa.
Kenapa Nginx? Performa Nginx diklaim lebih cepat 50 kali lipat dari Apache. Konsumsi memori Nginx juga jauh lebih rendah.ย Apalagi mesin VPS saya cuma memiliki memori 512 MB yang di dalamnya sudah saya isi macam-macam, salah satunya blog berbasis Ghost.
Kenapa menggunakan WordPress multisitus? Pertimbangan saya adalah kemudahan melakukan perawatan dan pengawasan. Ada satu blog lagi yang numpang di tempat saya, yang jika saya buat di WordPress terpisah, akan merepotkan ketika ada pembaruan.
Kemudahan lain, saat saya ingin membuat blog baru, tak perlu melakukan instalasi WordPress lagi, tinggal klik-klik, jadi. Jika ingin menggunakan domain lain, tinggal diarahkan domain tersebut ke alamat IP blog ini.
Migrasi dan Konfigurasi
Menjalankan WordPress di Nginx rupanya membutuhkan konfigurasi yang sederhana. Yang agak ribet adalah migrasinya.
Saya melakukan migrasi dengan mem-backup database MySQL dan direktori root WordPress hosting lama saya, lalu memindah dan mengunggah berkas ini ke hosting baru. Proses ini sendiri saya lakukan jauh-jauh hari karena besarnya ukuran berkas.
Setelah semua berkas dan database terpindah, saya lalu memindahkan domain ke alamat IP yang baru melalui DNS control panel lalu menunggu propagasi.
Konfigurasi Nginx saya mengikuti panduan dari rtCamp dan panduan WordPress sebagai tambahan.
Konfigurasi Nginx saya bisa dilihat di Pastebin saya seperti berikut:
server { #listen 80 default_server; server_name _; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; #-- change this root /var/www/html/wordpress; index index.php index.html index.htm; location ~ ^/files/(.*)$ { try_files /wp-content/blogs.dir/$blogid/$uri /wp-includes/ms-files.php?file=$1; access_log off; log_not_found off; expires max; } location / { try_files $uri $uri/ /index.php?$args; } location ~ .php$ { try_files $uri /index.php; #-- using PHP-FPM socket fastcgi_pass unix:/var/run/php5-fpm.sock; #-- using CGI #fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Konfigurasi saya sangat dasar dan minimalis. Di sini saya tidak menggunakan rules dari .htaccess
. Biasanya memang rule rewrite ini yang memusingkan. Jika ada rule rewrite yang hendak digunakan, gunakan konverter htaccess ke Nginx.
Tes Performa
Setelah proses propagasi selesai, saya pun merasakan peningkatan kecepatan yang cukup signifikan saat mengakses blog ini.
Blog lama saya yang menggunakan Apache (cPanel) saya pasang di domain cpanel.matriphe.com dan blog baru yang menggunakan Nginx saya pasang di domain matriphe.com untuk keperluan pengetesan dan perbandingan.
Spesifikasi masing-masing server adalah sebagai berikut:
Informasi | cpanel.matriphe.com | matriphe.com |
---|---|---|
Penyedia Hosting | MedanWeb | DigitalOcean |
Paket Hosting | Gold 3 | $5/mo |
Tipe Hosting | Shared Hosting | Cloud VPS |
Lokasi Server | Dallas, Texas, Amerika Serikat | New York, New York, Amerika Serikat |
CPU Core | Tidak Diketahui | 1 Core |
Arsitektur | 64 bit | 32 bit |
Memori | 1024 MB | 512 MB |
Kapasitas | 1200 MB | 20 GB (SSD) |
Sistem Operasi | Linux | Ubuntu 12.04 LTS |
Web Server | Apache 2.4.6 | Nginx 1.4.5 |
Versi PHP | 5.3.27 | 5.5.9 |
Versi Database MySQL | 5.5.35 | 5.5.35 Percona |
Kedua server kemudian saya uji performanya. Keduanya menggunakan versi WordPress yang sama (3.8.1), tema yang sama (primasty), dan plugin aktif yang sama.
Saya menggunakan Pingdom Website Speed Test dan Google Pagespeed untuk melakukan pengukuran performa.
Berikut ini hasil pengukuran menggunakan Pingdom Website Speed Test:
Lokasi | Amsterdam | Dallas | New York | |||
---|---|---|---|---|---|---|
Skor | CM | M | CM | M | CM | M |
Peringkat | 100/100 | 84/100 | 78/100 | 76/100 | 78/100 | 84/100 |
Permintaan | 1 | 66 | 66 | 66 | 66 | 66 |
Waktu Buka | 60,00 detik | 1,67 detik | 8,72 detik | 1,34 detik | 4,34 detik | 1,15 detik |
Ukuran Berkas | 0 B | 1,2 MB | 1,2 MB | 1,2 MB | 1,2 MB | 1,2 MB |
URL | URL | URL | URL | URL | URL | URL |
Bisa dilihat bahwa performa blog yang diperkuat oleh Nginx (M: matriphe.com) lebih baik dari Apache (CM: cpanel.matriphe.com). Bahkan saat dites dari Amsterdam, Belanda, cpanel.matriphe.com tidak dapat dibuka. Sepertinya ini lebih ke faktor jaringan.
Saya periksa yang membuat lama adalah koneksi mengambil Javascript dari Pinterest.
Saat dites menggunakan Google Pagespeed, hasilnya adalah sebagai berikut:
Skor | cpanel.matriphe.com | matriphe.com |
---|---|---|
Seluler | 36/100 | 56/100 |
Desktop | 54/100 | 82/100 |
Secara umum, performa blog tergantung ke banyak hal, terutama saat mengambil banyak resource keluar semacam Javascript dan CSS. Tapi dari waktu buka sendiri, Nginx jauh lebih cepat dan ringan bila dibandingkan dengan Apache. Saya merasakan sendiri peningkatan performa blog saya.
Blog WordPress Baru?
Jika ingin memasang WordPress baru menggunakan Nginx pada server VPS yang masih kosong, gunakan easyengine (ee) yang sangat mudah digunakan. Dengan easyengine ini tak perlu lagi melakukan konfigurasi Nginx dan sebagainya. Namun alat ini hanya berjalan di sistem operasi Ubuntu/Debian.
Untuk penggunaan easyengine dalam melakukan instalasi Nginx dan WordPress, ikuti petunjuk instalasinya di sini.
Ha tertarik itu mencoba easyengine… tapi kalau Blog lama nggak isa? Dalam artian di Server itu sudah ada NGINX ama WordPress juga