Ubuntuda Meteor Uygulaması Dağıtma

Bu makale Meteor uygulamanızı Ubuntu 14.04 çalıştıran bir Vultr VPS'ye dağıtarak size yol gösterecektir. Ayrıca diğer Linux dağıtımları üzerinde de çalışabilir (kendi sorumluluğunuzdadır).

Meteor topluluğunda oldukça aktif olan Arunoda Susiripala adlı ustaca bir adam, Meteor uygulamanızı ssh aracılığıyla uzak bir sunucuya dağıtmayı son derece kolay hale getiren mupx ("Meteor Up X" kısaltması) adlı bir dağıtım aracı geliştirdi. Mupx, mup'un halefidir. Baştan sona süreç boyunca size yol göstereceğiz. Mup, ağır kaldırma işlemlerinin çoğunu yapar, neyse ki, bu bir esinti olacak!

İlk adım mupx kurmak. Bunu VPS sunucunuzda değil , geliştirme iş istasyonunuzda yapacaksınız ! Yüklü Node.js'nin yüklü olduğundan emin olun ve çalıştırın:

$ npm install -g mupx

Yükleme tamamlandıktan sonra, Meteor proje klasörünüze gidin /projects/myAppve aşağıdaki komutları çalıştırın:

$ mkdir .deploy
$ cd $_
$ mupx init

$_Sözdizimine aşina olmayanlar için, bir komutta kullanılan son argüman için bir kısayoldur. Yani bu durumda, olarak cd $_yürütür cd .deploy.

Aşağıdaki çıktıyı göreceksiniz:

Meteor Up: Production Quality Meteor Deployments
------------------------------------------------
Configuration file : mup.json
Settings file      : settings.json

Empty Project Initialized!

Başlatma işlemi iki dosya oluşturur mup.jsonve settings.json. İkinci dosyayı şimdi yalnız bırakacağız. Devam et ve aç mup.json. Bu makaleyi yazarken, varsayılan değer mup.jsonşuna benzer:

{
  // Server authentication info
  "servers": [
    {
      "host": "hostname",
      "username": "root",
      "password": "password",
      // or pem file (ssh based authentication)
      // WARNING: Keys protected by a passphrase are not supported
      //"pem": "~/.ssh/id_rsa"
      // Also, for non-standard ssh port use this
      //"sshOptions": { "port" : 49154 },
      // server specific environment variables
      "env": {}
    }
  ],

  // Install MongoDB on the server. Does not destroy the local MongoDB on future setups
  "setupMongo": true,

  // Application name (no spaces).
  "appName": "meteor",

  // Location of app (local directory). This can reference '~' as the users home directory.
  // i.e., "app": "~/Meteor/my-app",
  // This is the same as the line below.
  "app": "/path/to/the/app",

  // Configure environment
  // ROOT_URL must be set to your correct domain (https or http)
  "env": {
    "PORT": 80,
    "ROOT_URL": "http://myapp.com"
  },

  // Meteor Up checks if the app comes online just after the deployment.
  // Before mup checks that, it will wait for the number of seconds configured below.
  "deployCheckWaitTime": 15,

  // show a progress bar while uploading. 
  // Make it false when you deploy using a CI box.
  "enableUploadProgressBar": true
}

Kurulum işleminin çalışması için birkaç şeyi değiştirmemiz gerekiyor.

İlk olarak, hostVPS IP adresinizi ayarladığınızdan emin olun , örneğin:

"host": "123.123.123.123",

Varsayılan 22 dışında bir bağlantı noktası numarası kullanmanız gerekiyorsa, bunu sshOptionsalanı kullanarak yapabilirsiniz , örneğin:

"host": "123.123.123.123",
"sshOptions": { "port": 9876 },

usernameDeğeri, Meteor uygulamanızın kurulumuna sahip olmak istediğiniz kullanıcı olarak ayarlayın . Güvenlik amacıyla şifre satırını kaldırmanızı ve bunun yerine bir SSH anahtarı kullanmanızı öneririm. pemDeğeri içeren satırı ayırın ve SSH gizli anahtarınızı VPS'nize (in /root/.ssh/authorized_keys) yüklediğiniz SSH genel anahtarına karşılık geldiğinden emin olun . Parola satırından sonra virgül eklediğinizden emin olun! SSH anahtarınıza bir parola eklenmişse, pemsatırı tamamen kaldırın ve SSH özel anahtarınızın bir ssh aracısında (örn. Mac'te ssh-add <path to ssh private key>) önbelleğe alındığından emin olun .

setupMongoVarsayılan değerine ayarlı olarak bırakın .

appNameMeteor uygulamanızın adıyla değiştirin . Bizim durumumuzda:

"appName": "myApp",

... ve uygulamanın dağıtım klasörüne göre konumunu da ayarlayın:

"app": "..",

Son olarak, ROOT_URLuygulamanız için belirtilen URL'yi ayarlayın . Bir bağlantı noktası numarasını standart HTTP bağlantı noktasına açıkça ayarlayın.

// Configure environment
"env": {
  "ROOT_URL": "http://myapp.com",
  "PORT": 80
},

Bu kadar! Dosyayı kaydedin ve mup.jsonçalıştırın:

$ mupx setup

Bu noktada mupx, VPS'nize ssh eder, Docker'ı kurar, ortamı kurar ve uygun Docker görüntülerini çeker. Şimdi uygulamanızı dağıtın:

$ mupx deploy

Şimdi giderseniz http://123.123.123.123, uygulamanız sayfa yüklendiğinde gösterilir.

Çok çekirdekli destek

VPS'nizin birden çok çekirdeği varsa, Meteor uygulamanız bundan faydalanabilir. Sadece birkaç hızlı ayar yapmamız gerekecek.

İlk olarak, küme paketini yüklemeniz gerekir. Meteor uygulamanızın klasörüne gidin (bu örnekte /projects/myApp) ve şunu yazın:

$ meteor add meteorhacks:cluster

Şimdi mup.jsondosyanızı düzenleyin ve ortam değişkeni bölümünü şu şekilde değiştirin:

// Configure environment
"env": {
  "ROOT_URL": "http://myapp.com",
  "PORT": 80,
  "CLUSTER_WORKERS_COUNT": "auto"
},

Uygulamanıza yeni bir paket eklediğimizden, yeniden dağıtmanız gerekecek.

$ mupx setup && mupx deploy

mup.jsonTüm uygulamayı dağıtmak zorunda kalmadan ortam değişkenlerinizi değiştirmek isterseniz , reconfigure komutunu kullanmanız yeterlidir. Hiçbir uygulama değişikliği yapılmadığında bu yararlıdır.

$ mupx reconfig

Tebrikler, Meteor uygulamanız şimdi çalışıyor! Ayrıca, VPS'niz her yeniden başlatıldığında uygulamanız otomatik olarak başlayacaktır. Meteor konuşlandırması ve yönetimi ile ilgili gelecekteki makalelere dikkat edin.



Leave a Comment

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun