URL – Sebaiknya Relative atau Absolute?

What? Yah itulah kenyataan di dunia SEO, bagi engineer, penggunaan absolute URL tentu bukan best practices, kenapa? Karena tidak dinamis, jika kita mengganti nama domain, maka perlu penyesuaian di sana sini untuk bisa menyesuaikan dengan domain baru. Ini tentu berarti tambahan pekerjaan…

Tapi dari kacamata SEO, beda lagi… Best practice untuk SEO adalah menggunakan absolute URL, ini terkait dengan utamanya crawler budget. Silakan baca tautan berikut untuk penjelasan lebih lanjut…

Install supervisor – the right way

The right way ini maksudnya mirip-mirip best practice lah.. Yakni dengan tidak menggunakan super user (sudo), caranya bagaimana? Cukup tambahkan parameter –user ke perintah pip Anda…

$ pip install supervisor –user

Instalasi terletak di direktori home Anda

~/.local/bin/

Bagaimana jika meng-install sebagai super user? Tidak ada masalah sih, bisa aja, namun Anda harus tahu bahwa instalasi pip menggunakan sudo tidak disarankan dari sisi keamanan sebuah sistem.

Mudah Mengelola Long-running Processes dengan supervisor

Anda memiliki banyak long-running process dalam satu mesin? Misal running beberapa aplikasi django? Gunakan supervisorctl kalau Anda tidak ingin repot. Setelah terpasang dan konfigurasi berjalan dengan baik, mengelola banyak aplikasi menjadi mudah, cukup dengan reread, stop, start…

reread

Perintah ini untuk membaca ulang isi dari supervisord.conf

update

Perintah ini untuk menambahkan proses baru kedalam supervisord

start/stop

Perintah ini untuk memulai/menghentikan sebuah proses

status

Perintah ini untuk melihat status dari masing-masing proses yang kita miliki.

Jangan Pernah Melakukan pip install Menggunakan Root / Super User

Terus caranya bagaimana? Cukup tambahkan parameter –user, misal saya ingin meng-install supervisor, tanpa sudo, besar kemungkinan hasilnya error permission denied, untuk itu, lakukan perintah berikut:

pip install supervisor --user

Jika Anda pengguna ubuntu, maka lokasi instalasi ada di

~/.local/bin

Untuk lebih memudahkan, Anda dapat membuat alias sederhana di .bashrc:

alias supervisord="/home/kholidfu/.local/bin/./supervisord"
alias supervisorctl="/home/kholidfu/.local/bin/./supervisorctl"

Selamat mencoba

Supervisord, Supervisorctl, Nginx, Gunicorn dan Django

Bingung mau ngasih judul apa, intinya saya mau setup django yang menggunakan gunicorn dan di run secara daemon menggunakan supervisor. Sebelumnya pastikan Anda sudah memasang supervisor di komputer (mengikuti tutorial dari sini):

pip install supervisor
echo_supervisord_conf > supervisord.conf

Jalankan supervisor

supervisor -c supervisord.conf

Jika tidak ada pesan kesalahan, sekarang tambahkan command gunicorn di bagian paling bawah dari file supervisord.conf tadi. Di saya berikut ini perintah untuk gunicorn:

[program:kesuwen]
command=/Users/macbookpro/git/kesuwen/bin/gunicorn --env DJANGO_SETTINGS_MODULE=/Users/macbookpro/git/kesuwen/app --pythonpath=/Users/macbookpro/git/kesuwen/ --bind=127.0.0.1:8000 app

Jalankan lagi supervisor, dan django + gunicorn sekarang sudah di run via supervisor. Anda dapat juga mencoba supervisorctl untuk fleksibilitas yang lebih, misalnya untuk start/stop program tertentu. Caranya adalah dengan sebelumnya masuk dulu ke console supervisorctl dengan mengetikkan perintah:

supervisorctl -c ~/supervisord.conf

Setelah masuk ke prompt, jalankan perintah berikut untuk start/stop program.

start kesuwen
stop kesuwen

Selamat mencoba

Mengganti IP Address Ubuntu Server 16.04

Seringkali jika kita order dedicated server, kita akan dapat IP address lebih dari satu, dan kadang karena pertimbangan tertentu, kita ingin mengganti IP ke IP lain. Bagaimana caranya?

Sunting berkas /etc/network/interfaces, sesuaikan IP address dengan yang baru kemudian jalankan perintah:

ifdown eth0; ifup eth0

Kalau sedang login via ssh, maka terminal session pasti nge-freeze, karena koneksi terputus, tidak apa-apa, tunggu beberapa saat kemudian lakukan login kembali menggunakan IP yang baru.

Jangan lupa untuk melakukan restart service2 yang terkait dengan IP lama, misal nginx, dan lain sebagainya.

Reference: Configure Networking on Ubuntu