Ruby On Rails Uygulamalarını Bulut VPS Sunucularına Nasıl Dağıtırım

Heroku’nun “ücretsiz” katmanını aştıysanız, sahip olabileceğiniz herhangi bir Rails uygulamasını çalıştırmak için özel bir VPS oluşturmanın çeşitli yollarını incelemek isteyebilirsiniz.

Bunu yapmak için, üzerine özel web tabanlı uygulamalar dağıtabileceğiniz ucuz VPS barındırma hizmeti sunmaya başlayan çeşitli “bulut” barındırma sağlayıcılarına (Dijital Okyanus, Linode, vb.) gerçekten bakıyor olmalısınız. .

Rails, modern web geliştirmenin temel taşlarından biri olduğundan, onu çalıştırmak için özel bir sunucunun nasıl kurulacağını düşünmek önemlidir. Aslında oldukça basit.

%99 Yazılım…

Bununla ilgili hatırlanması gereken en önemli şey, bir HTTP (“web”) sunucusu kurmak için SADECE gerekmek YAZILIM çalışmasını sağlamak için.

“Web”, TCP/IP’nin (“İnternet” için temel “protokol”) arkasında çalışır – bu, temel olarak, bir bilgisayar sisteminin “genel” IP adresini biliyorsanız, TCP/IP’nin size yetenek verdiğini söyler. ona “bağlanmaya” çalışmak için.

Bir sisteme her “ping” yaptığınızda veya herhangi bir “tokalaşma” yaptığınızda, bu TCP/IP üzerinden yapılır. Bu, hem LAN (Yerel Alan Ağı) hem de WAN (Geniş Alan Ağı) kapasitesinde çalışır ve kullanıcılara İnternet’e “bağlı” olan diğer cihazlara “bağlanma” yeteneği sağlar.

TCP/IP ile ilgili sorun şu ki, “çevrimiçi” olan *her* sisteme “ping atılabilir”, ancak bu sisteme erişilemez. TCP/IP, temelde belirli verilerin belirli şekillerde aktarılmasına izin veren “bağlantı noktaları” kullanır – güvenlik duvarı yazılımı (şimdi çoğu işletim sisteminde yerleşiktir) korsanlığı önlemek için çoğu bağlantı noktasına erişimi engeller.

HTTP’nin (Köprü Metni Aktarım Protokolü) burada oynadığı kısım, bağlantı noktası 80 (veya SSL kullanılıyorsa 443) aracılığıyla sağlanan “genel” bir bağlantı kümesine izin vermesidir. HİÇ “HTTP” etkin bilgisayar sistemi esasen belirli bir klasörü İnternet’e “açarak”, TCP/IP protokolünün 80 numaralı bağlantı noktası üzerinden erişilebilir hale getirir. Bu, “HTTP” (“Web”) sunucu yazılımı ile yapılır.

Bir “web sunucusu” çalıştırmak için, temel olarak “İnternet”e bağlı, herkesin erişebileceği bir IP adresine sahip ve 80 veya 443 numaralı bağlantı noktasındaki HTTP protokolü aracılığıyla gelen istekleri kabul edebilen bir bilgisayara ihtiyacınız vardır.

Bu, özel bir VPS sunucusunu nasıl kuracağınızın başlangıcıdır…

Sunucular Bir Düzine Düzinedir

Böylece, herhangi biri İnternet bağlantısı ile bilgisayar ve HTTP sunucu yazılımı (NGinx/Apache) bir web sunucusu kurabilir.

Bir alan adına bile ihtiyacınız yok – sadece genel IP’nizi kullanın. Alan adları, web sunucularına erişimi kolaylaştırmanın bir yolu olarak ICANN tarafından sağlanır – çoğu kişinin bilmediği şey, bir “alan” adının yalnızca bir isteği belirli bir IP adresine yönlendirdiğidir. Bu IP’yi “web” trafiğine (port 80/443) erişilebilir kılmak hala alan sahibine ve web sitesi geliştiricisine aittir.

Mesele şu ki, “barındırma” için ödediğiniz şey gerçekten altyapı bir sunucuyu çalışır ve çalışır durumda tutmak için gereklidir. “Paylaşılan” barındırma, temelde bir “kullanıcı hesabı” satın alma yeteneğidir. KOCAMAN sunucu (1.000 web sitesi tarafından kullanılır), bu sayede “barındırma şirketi” maksimum çalışma süresini sağlamak için tüm elektrik, bakım ve destek için ödeme yapacaktır.

Çoğu insan için sorun şu ki, “paylaşılan” barındırma çevrimiçi olarak basit bir “WordPress” web sitesi edinmenin harika bir yolu olsa da, daha egzotik bir şey istiyorsanız, zarardasınız. Spesifik olarak, Rails ve benzerleri NodeJS veya diğer “yeni” teknolojiler (bağımlılıkları için daha derin işletim sistemi entegrasyonu gerektirir).

Bunun cevabı (şimdilik) kendi VPS sunucularınızı kurmaktır. Bunlar, sunucunun çalışma şekli üzerinde maksimum kontrole izin verir ve ayrıca temel işletim sistemine doğrudan erişim sağlar (bu, istediğiniz kadar bağımlılık ekleyebileceğiniz anlamına gelir).

Ancak bunu yapmak için biraz kurulum gerekir. Bu, öncelikle sunucuyu çalışır ve çevrimiçi hale getirmek için gereken temel ayarları / bileşenleri anlayarak yapılır. Aşağıdaki adımlar bunun nasıl yapılacağını açıklayacaktır.

Sunucu Kurma

    1. Ubuntu’yu Çalıştıran VPS
      İlk adım, bir VPS örneği almaktır. Belirtildiği gibi, bunların en iyi sağlayıcıları Vultr, DigitalOcean, AWS, vb. gibi yeni “bulut” sistemleridir. Bunun için çok büyük paralar ödemekten çekinmeyin – aylık 5$ başlangıç ​​için mükemmeldir. Ayrıca yaygın olarak desteklenen ve gereksiz masraf yaratmayacak bir işletim sistemi kullanmanız gerekir. Linux’u kullanın. Sunucuyu kurduktan sonra asla bakmayacaksınız, bu nedenle pahalı bir Windows lisansı zaten önemli olmayacak. Ubuntu şu anda en popüler Linux çeşididir. Başkalarını kullanabilirsiniz, ancak uyumluluk adına Ubuntu’yu öneriyoruz.
    1. NGinx/Apache’yi yükleyin
      Ardından, *web* sunucu yazılımını yüklemeniz gerekir. 80 (veya 443) numaralı bağlantı noktasını dünyaya açacak ve insanların web tarayıcılarıyla sunucuya bağlanmasına izin verecek olan budur. Ayrıca, genellikle tek bir paket halinde gelen web sunucusuyla birlikte “uygulama sunucusunu” da kurmanız gerekeceği unutulmamalıdır. Hem NGinx hem de Apache’nin bunu başarmak için kendi web sitelerinde bulunan kendi yöntemleri vardır.
    1. Ruby ve RubyGems’i yükleyin
      Web sunucusunu kurduktan sonra Ruby/RubyGems’i kurmanız gerekir. Bunu yapmanın birkaç yolu olsa da, temel temel Ruby’yi kaynaktan inşa etmek (ki bu inşa araçlarını gerektirir) ve bunun üzerine RubyGems kurmaktır.
    1. GIT Kurulumunu Alın
      Bir Rails uygulamasını sunucuya almanın yolu GIT’dir. Bu kurulumu yapmak için önce GIT uygulamasını indirmeniz (apt-get aracılığıyla yapılır) ve ardından sunucuya özel (“çıplak”) bir GIT deposu eklemeniz gerekir. Daha sonra, GIT uzak deposunu işlemek için yerel deponuzu kurmanız gerekir, bu da onu zorlamanıza izin verir.
  1. Uygulamayı Zorlayın ve Tüm Ekstraları Ayarlayın
    Bundan sonra, uygulamayı GIT üzerinden sunucuya gönderebildiğinizden emin olmanız ve ardından herhangi bir ekstra (veritabanı vb.) ekleyebildiğinizden emin olmanız gerekir. Açıkçası, bunu nasıl yapacağınız, sahip olduğunuz “yığın” kurulumuna bağlı olacaktır.

Sonuç olarak, süreç aslında oldukça sıradan ve oradaki sayısız “barındırma” sağlayıcısıyla tamamen aynı.

Kullanıcıların çeşitli özelliklerini düzgün bir şekilde “yönetebilmelerini” sağlamak için yalnızca CPanel veya Plesk gibi bir uygulama kullanırlar.