Menjalankan WordPress Multisitus dari Apache (cPanel) Beralih ke Nginx

·
5 minutes
· 869 words · 709 views · 4 comments ·

Menggunakan Nginx untuk menjalankan WordPress multisitus yang sebelumnya menggunakan Apache/Cpanel.

Muhammad Zamroni

Muhammad Zamroni

Berlin, DE

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:

Informasicpanel.matriphe.commatriphe.com
Penyedia HostingMedanWebDigitalOcean
Paket HostingGold 3$5/mo
Tipe HostingShared HostingCloud VPS
Lokasi ServerDallas, Texas, Amerika SerikatNew York, New York, Amerika Serikat
CPU CoreTidak Diketahui1 Core
Arsitektur64 bit32 bit
Memori1024 MB512 MB
Kapasitas1200 MB20 GB (SSD)
Sistem OperasiLinuxUbuntu 12.04 LTS
Web ServerApache 2.4.6Nginx 1.4.5
Versi PHP5.3.275.5.9
Versi Database MySQL5.5.355.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:

LokasiAmsterdamDallasNew York
SkorCMMCMMCMM
Peringkat100/10084/10078/10076/10078/10084/100
Permintaan16666666666
Waktu Buka60,00 detik1,67 detik8,72 detik1,34 detik4,34 detik1,15 detik
Ukuran Berkas0 B1,2 MB1,2 MB1,2 MB1,2 MB1,2 MB
URLURLURLURLURLURLURL

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:

Skorcpanel.matriphe.commatriphe.com
Seluler36/10056/100
Desktop54/10082/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.

Referensi

Related Articles

Pingbacks & Trackbacks

2
Tema Blog 2015: Miranti | matriphe!

[…] memori 512 MB. Untuk sebuah blog yang tak begitu banyak pengunjungnya, rasanya lebih dari cukup. Terima kasih kepada Nginx yang telah membuat blog ini […]

[…] cukup lama saya menggunakan layanan cloud Digital Ocean sejak Februari 2014, saya memutuskan untuk pindah ke layanan cloud […]

Comments

4
Jauhari
Jauhari

Ha tertarik itu mencoba easyengine... tapi kalau Blog lama nggak isa? Dalam artian di Server itu sudah ada NGINX ama WordPress juga

Muhammad Zamroni
Muhammad Zamroni Author

Belom nyoba, tapi intine EasyEngine itu mempermudah instalasi dan konfigurasi Nginx dan WP.. yang ribet emang kalo udah migrasi-migrasian.. :D

cable chains for cars
cable chains for cars

ane punya vps digital ocean dgn centos v 6. udah install nginx, MySQL, PHP (LEMP) stack. maunya bikin wpmu, utak utak atik config nya nginx di tutor" akhirnya ada dikit masalah, ane hapus pake rm folde nginx yang di rm -f -r /etc/nginx, tapi ada file confignya yg ga bisa terhapus.
kira" bisa dibantu ga install ulang nginx nya sampai wpmu nya bisa di publish. ane punya domain yang akan dibikin wpmu. tolong dikabarin ya via sms 081363331369 atau email, dan sekalian berapa maharnya. tapi jangan mahal" ya, (ini tabungan mahasiswa gan).
udah 10 hari nih vps belumjuga wpmu nya di publish. tolong komentar ini jangan di publish ya

Basoro
Basoro

Reloading nginx configuration: nginx: [emerg] unknown "blogid" variable

Sepertinya ada yg kurang di config-nya

------------
map $http_host $blogid {
default -999;
}
--------

Travamart
Travamart

Kalau di install web e-commerce VPS, nih asumsi ram 512 mb untuk startip pertama, nah kalau di install semacam magento atau prestashop kira2 ngangkat gak ya ngeload webnya kalau di kunjungi dalam sehari kita ambil saja pengunjung 1-3ribu. ??

oh iya itu dimedan web yang shared host lumayan ya performnya server singapore? kira-kira perbulannya nampung beberapa visitor ??

makasih.

Comments are closed.