Disini saya akan mencoba memberikan pengalaman saya bagaimana cara menggunakan subdomain untuk assets pada Rails, saya selalu menggunakan subdomain untuk memisahkan asset file pada aplikasi Rails tentunya untuk production, kebetulan ada beberapa teman saya yang minta panduan gimana sih caranya bikin kaya gitu.
Loh keuntunganya apa? Sebaiknya kalian cari tau dulu gih…
Saya enggak tau mau cerita apa lagi ;v langsung ke langkah-langkahnya aja ya.
Asumsikan ini untuk:
- Environment production.
- Aplikasi rails yang sudah siap disajikan.
Buka file config/environments/production.rb
dan cari bagian baris seperti ini:
1
|
|
Rubahlah menjadi seperti ini:
1
|
|
- Tentukan protokol apakah menggunkan SSL atau tidak.
- Tentukan domain TLD dan string subdomain yang digunakan.
Jadi jika kalian masih dalam development maka akan tetap menggunakan http://localhost:port, sedangkan jika sudah dalam production akan menjadi http://assets.domain.tld secara otomatis dengan syarat kalian harus selalu menggunakan helper assets bawaan Rails.
Sebagai contoh untuk memanggil assets CSS menggunakan tag stylesheet_link_tag
, memanggil assets JS menggunakan tag javascript_include_tag
dan tag-tag asset lainnya. Kalian tidak boleh memanggil alamat assets tanpa menggunakan tag helper bawaan Rails.
Untuk tahap production assets harus di precompile, kan perintahnya seperti ini:
1
|
|
Atau
1
|
|
Nah sampai disini destinasi assets akan berada di public/assets/
Tugas kita selanjutnya hanya memindahkan assets tersebut ke document root untuk subdomain yang sudah kita tentukan, dengan perintah:
1
|
|
Perintah bash diatas adalah asumsi jika document root assets setara dengan direktori root rails. Untuk codeblock konfigurasi virtual host web server yang kita gunakan adalah statis.
Karena saya sudah terbiasa dengan web server nginx maka saya akan kasih contoh server block sebagai berikut:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
|
Untuk selanjutnya silakan kalian kembangkan sendiri cara praktis deployement untuk cara-cara diatas, karena saya tidak tau keterbiasaan kalian itu gimana jadi ya silakan gunakan metode kalian sendiri.
Tutorial selanjutnya adalah bagaimana jika untuk file upload dijadikan subdomain juga ^_^