Bagaimana cara menggunakan Varnish dengan aplikasi Ruby on Rails?

Nov 13, 2025

Tinggalkan pesan

Alice Smith
Alice Smith
Alice adalah insinyur R&D senior di Jiangmen Chuangda New Material Technology Co., Ltd. dengan lebih dari 8 tahun pengalaman dalam industri kimia, ia berspesialisasi dalam pengembangan bahan kimia resin yang ditularkan melalui air. Pekerjaan inovatifnya telah berkontribusi signifikan terhadap ekspansi lini produk perusahaan dan kemajuan teknologi.

Hai! Jika Anda menjalankan aplikasi Ruby on Rails dan ingin meningkatkan kinerjanya, Anda datang ke tempat yang tepat. Saya dari pemasok Varnish, dan saya di sini untuk memandu Anda tentang cara menggunakan Varnish dengan aplikasi Ruby on Rails Anda.

Pertama, mari kita bahas apa itu Varnish. Varnish adalah akselerator HTTP berkinerja tinggi. Secara sederhana, ini seperti buffer super cepat antara server web dan pengguna Anda. Ini menyimpan salinan halaman web dalam memori, jadi ketika pengguna meminta halaman, Varnish dapat menyajikannya jauh lebih cepat daripada aplikasi Rails Anda jika harus membuat halaman dari awal setiap saat.

Mengapa Menggunakan Varnish dengan Ruby on Rails?

Ruby on Rails adalah kerangka kerja luar biasa untuk membangun aplikasi web. Ini memiliki banyak fitur dan membuat pengembangan menjadi mudah. Namun salah satu kelemahannya adalah agak lambat saat menyajikan konten statis dan menangani beban lalu lintas tinggi. Di situlah peran Varnish.

Water Based Polyurethane Gloss2 Matte Varnish

Dengan menggunakan Varnish, Anda dapat memindahkan banyak pekerjaan dari aplikasi Rails Anda. Varnish dapat menyimpan halaman, gambar, dan aset statis lainnya dalam cache, sehingga mengurangi beban pada server Rails Anda. Ini berarti aplikasi Anda dapat menangani lebih banyak lalu lintas tanpa error, dan pengguna Anda akan merasakan waktu muat yang lebih cepat.

Memasang Pernis

Langkah pertama adalah menginstal Varnish di server Anda. Proses instalasi dapat bervariasi tergantung pada sistem operasi Anda. Misalnya, jika Anda menggunakan Ubuntu, Anda dapat menggunakan perintah berikut:

sudo apt - perbarui sudo apt - instal pernis

Jika Anda menggunakan sistem lain seperti CentOS, Anda perlu menggunakan perintah yang berbeda. Anda dapat memeriksa dokumentasi resmi Varnish untuk petunjuk instalasi terperinci untuk OS spesifik Anda.

Mengonfigurasi Varnish untuk Ruby on Rails

Setelah Anda menginstal Varnish, saatnya mengonfigurasinya agar berfungsi dengan aplikasi Ruby on Rails Anda. Varnish menggunakan file konfigurasi bernamadefault.vcl(Bahasa Konfigurasi Pernis).

Hal pertama yang perlu Anda lakukan adalah memberi tahu Varnish di mana aplikasi Rails Anda berjalan. Secara default, Rails berjalan pada port 3000. Anda dapat menambahkan kode berikut ke port Andadefault.vclmengajukan:

ujung belakang default { .host = "127.0.0.1"; .port = "3000"; }

Ini memberitahu Varnish bahwa aplikasi Rails Anda berjalan di mesin lokal (127.0.0.1) pada port 3000.

Selanjutnya, Anda perlu mengonfigurasi Varnish untuk menyimpan konten yang tepat dalam cache. Anda tidak ingin menyimpan cache halaman yang dipersonalisasi untuk setiap pengguna, seperti dasbor pengguna atau keranjang belanja. Anda dapat menggunakan aturan bawaan Varnish untuk mengontrol apa yang di-cache.

Berikut ini contoh bagaimana Anda dapat menyimpan halaman statis dalam cache:

sub vcl_recv { if (req.url ~ "^/(gambar|javascript|stylesheet)/") { return (hash); } if (req.method == "GET" || req.method == "HEAD") { return (hash); } else { kembali (lulus); } }

Kode ini memberitahu Varnish untuk menyimpan permintaan gambar, file JavaScript, dan stylesheet dalam cache. Itu juga menyimpan permintaan GET dan HEAD, yang biasanya digunakan untuk mengambil halaman. Jenis permintaan lainnya, seperti permintaan POST (digunakan untuk pengiriman formulir), diteruskan ke aplikasi Rails tanpa di-cache.

Menguji Pengaturan Pernis Anda

Setelah Anda mengonfigurasi Varnish, saatnya mengujinya. Pertama, restart Varnish untuk menerapkan konfigurasi baru:

sudo systemctl restart pernis

Kemudian, Anda bisa menggunakan alat sepertikeritinguntuk menguji apakah Varnish berfungsi dengan benar. Coba akses aplikasi Rails Anda melalui Varnish. Secara default, Varnish mendengarkan pada port 6081. Jadi, Anda dapat menggunakan perintah berikut:

keriting http://localhost:6081

Jika semuanya sudah diatur dengan benar, Anda akan melihat output dari aplikasi Rails Anda. Anda juga dapat memeriksa log Varnish untuk melihat apakah permintaan sedang di-cache atau diteruskan.

Konfigurasi Pernis Tingkat Lanjut untuk Rel

Ada beberapa konfigurasi lanjutan yang dapat Anda lakukan untuk mendapatkan hasil maksimal dari Varnish dengan aplikasi Ruby on Rails Anda.

Pembatalan Cache

Salah satu tantangan dengan caching adalah mengetahui kapan harus membuat cache tidak valid. Misalnya, jika pengguna memperbarui informasi profil mereka di aplikasi Rails Anda, Anda perlu memastikan halaman cache untuk profil pengguna tersebut diperbarui.

Anda bisa menggunakan Varnishmelarangfitur untuk membatalkan cache. Di aplikasi Rails Anda, Anda dapat mengirim permintaan khusus ke Varnish untuk melarang URL tertentu atau sekumpulan URL. Berikut ini contoh bagaimana Anda dapat melakukan ini di Rails:

memerlukan 'net/http' uri = URI('http://localhost:6082/ban') req = Net::HTTP::Post.new(uri) req['X-Ban-Regex'] = '^/users/1' res = Net::HTTP.start(uri.hostname, uri.port) do |http| http.permintaan(permintaan) berakhir

Kode ini mengirimkan permintaan pelarangan ke Varnish, memerintahkannya untuk membatalkan halaman cache apa pun yang cocok dengan ekspresi reguler^/pengguna/1.

Menggunakan Pernis dengan HTTPS

Jika aplikasi Rails Anda menggunakan HTTPS, Anda harus mengonfigurasi Varnish agar dapat menggunakannya. Anda dapat menggunakan proxy terbalik seperti Nginx atau Apache di depan Varnish untuk menangani penghentian SSL.

Berikut adalah contoh sederhana bagaimana Anda dapat mengonfigurasi Nginx agar berfungsi dengan Varnish:

server {dengarkan 443 ssl; nama_serverdomainanda.com; ssl_certificate /path/to/your/cert.pem; ssl_certificate_key /path/to/your/key.pem; lokasi / { proxy_pass http://127.0.0.1:6081; proxy_set_header Tuan rumah $host; proxy_set_header X - Asli - IP $remote_addr; proxy_set_header X - Diteruskan - Untuk $proxy_add_x_forwarded_for; } }

Konfigurasi ini memberitahu Nginx untuk mendengarkan pada port 443 (port HTTPS default) dan meneruskan permintaan ke Varnish yang berjalan pada port 6081.

Produk Pernis Kami

Sebagai pemasok Varnish, kami menawarkan rangkaian produk Varnish berkualitas tinggi. Misalnya, kita punyaLapisan Atas Matte Berbasis Air, yang memberikan hasil akhir yang halus dan elegan. KitaGloss Poliuretan Berbasis Airmenawarkan permukaan mengkilap dan tahan lama. Dan ituPernis Lapisan Bening Berbasis Airsangat cocok untuk melindungi permukaan Anda sekaligus mempertahankan tampilan alaminya.

Hubungi Kami untuk Pembelian

Jika Anda tertarik menggunakan produk Varnish kami untuk meningkatkan kinerja aplikasi Ruby on Rails Anda, kami akan sangat senang mendengar pendapat Anda. Baik Anda startup kecil atau perusahaan besar, tim ahli kami dapat membantu Anda menemukan solusi Varnish yang tepat untuk kebutuhan Anda. Hubungi kami untuk konsultasi mendetail dan mari kita mulai mengoptimalkan kinerja aplikasi Anda bersama-sama.

Referensi

  • Dokumentasi resmi pernis
  • Dokumentasi resmi Ruby on Rails
  • Dokumentasi resmi Nginx
Kirim permintaan
Hubungi kamiJika ada pertanyaan

Anda dapat menghubungi kami melalui telepon, email, atau formulir online di bawah ini. Spesialis kami akan segera menghubungi Anda kembali.

Hubungi sekarang!