Post Pic

Instalasi Thin untuk Ruby on Rails di Ubuntu Hardy

Ada beberapa pilihan ketika Anda ingin memberikan layanan untuk aplikasi berbasiskan ruby on rails. Salah satunya adalah dengan menjalankan ruby on rails menggunakan thin. Di tulisan ini akan dibahas cara instalasi dan konfigurasi sederhana seputar thin.


Thin mirip seperti mongrel atau mongrel_cluster, yang menjalankan webserver untuk aplikasi ruby on rails untuk diproxy lagi dari webserver utama seperti nginx, lighttpd atau apache.

Sebelum kita lanjutkan, silakan Anda instal ruby on rails seperti yang sudah saya tuliskan caranya di artikel sebelumnya, Instalasi Ruby on Rail di Ubuntu Hardy.

Instalasi

Menginstal thin sangat mudah, kita akan menginstal menggunakan rubygems. Tapi sebelumnya pastikan paket build essential sudah terinstal.

sudo apt-get install build-essential
sudo gem install thin

Periksa gem yang sudah terinstal,

sudo gem list

Kira-kira gem yang terinstall adalah seperti di bawah ini,

actionmailer (2.3.3)
actionpack (2.3.3)
activerecord (2.3.3)
activeresource (2.3.3)
activesupport (2.3.3)
daemons (1.0.10)
eventmachine (0.12.8)
rack (1.0.0)
rails (2.3.3)
rake (0.8.7)
thin (1.2.2)

Menjalankan dan Mematikan Thin

Untuk menjalankan thin, masuk ke direktori aplikasi rails lalu jalankan perintah berikut.

thin start -d

Opsi -d adalah untuk menjalankan thin di background. Tanpa opsi itu, thin akan mirip dengan webbrick, yang memerlukan terminal tetap terbuka agar aplikasi rails bisa terus dijalankan. Jika Anda menjalankan tanpa opsi -d, maka untuk menghentikannya tinggal tekan CTRL C.

Untuk mematikan, Anda harus berada di direktori instalasi aplikasi rails. Lalu jalankan perintah berikut,

thin stop

Memilih Environtment

Secara default, thin akan memilih environment development. Jika Anda ingin menjalankan untuk environment lain, misalnya production tinggal jalankan opsi tambahan, seperti pada contoh di bawah ini.

thin start -d -e production

Mode Cluster

Thin bisa dijalankan dalam mode cluster. Misal untuk menjalankan 3 buah cluster thin, Anda bisa menjalankan perintah berikut (seperti biasa, jalankan di direktori instalasi aplikasi rails).

thin start --servers 3

Dan untuk mematikannya

thin stop --servers 3

Skrip Init

Tadi kita sudah mengetahui cara menjalankan thin secara manual. Sekarang kita akan membuat skrip init, agar thin bisa dijalankan secara otomatis saat sistem di boot.

Buat skrip init:

sudo thin install

Kemudian aktifkan di runlevel defaults

sudo /usr/sbin/update-rc.d -f thin defaults

Selanjutnya, kita harus memilih aplikasi rails mana yang akan dijalankan.

Misal, aplikasi rails terinstal di /opt/testaplikasi/

sudo thin config -C /etc/thin/testaplikasi.yml -c /opt/testaplikasi/  --servers 3 -e production

Sekarang kita lihat konfigurasi yang baru saja dibuat,

cat /etc/thin/testaplikasi.yml

Isinya kira-kira seperti di bawah ini

pid: tmp/pids/thin.pid
log: log/thin.log
timeout: 30
max_conns: 1024
port: 3000
max_persistent_conns: 512
chdir: /opt/testaplikasi
environment: production
servers: 3
address: 0.0.0.0
daemonize: true

Dan jika Anda ingin mengubah beberapa parameter, Anda tinggal sunting berkas konfigurasi tadi. Dalam contoh di atas, saya mengaktifkan 3 buah server thin, yang akan dijalankan setiap sistem di boot.

Kesimpulan

Menginstal dan mengkonfigurasi thin sangatlah mudah. Apa yang tertulis di artikel ini adalah dasar untuk menjalankan aplikasi rails menggunakan thin. Dalam proses deployment sebenarnya, biasanya diperlukan webserver utama yang akan di set proxy ke aplikasi thin ini.

Proses proxy dari Nginx, Apache atau Lighttpd akan dibahas dalam artikel terpisah.