Ubuntu 16.04 Üzerinde Node.js Kalıcı Uygulamalar Nasıl Kurulur

Node.js uygulamaları ölçekleme yetenekleri nedeniyle popülerdir. Birden çok sunucuda birden çok eşzamanlı işlem çalıştırmak daha düşük gecikme süresi ve daha fazla çalışma süresi sağlar. Birden çok sunucuyu yönetirken, kilitlenmeleri durumunda Node.js uygulamalarının otomatik olarak yeniden başlatılması en kolay yoldur. Bu eğitici, boş bir Ubuntu 16.04 örneğinden uygulama kalıcılığını nasıl hızlı bir şekilde ayarlayacağınızı gösterecektir.

Ön şartlar

  • Ubuntu 16.04 LTS x64 ile her boyutta bir Vultr örneği oluşturun.
  • Kök kullanıcı değilseniz, çalıştırın sudo -sve şifrenizi yazın. Başlangıç ​​dosyasını değiştirmek için, işlem yöneticisinin önyüklemede başlaması için kök erişimi gerekir.
  • Örnekte Node.js'nin yüklü olduğundan ve kalıcılık yöneticisinin sorunsuz çalışması için gerekli olan Node.js sürümünün 8.9.3 LTS veya daha yeni bir sürüm olduğundan emin olun. node -vYüklü sürümü kontrol etmek için kullanın . Node.js doğru sürümde değilse, aşağıdaki komutlar yükler.

Node.js'yi yükleyin.

$ sudo apt-get update
$ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
$ sudo apt-get install -y nodejs

Takas bölümü oluştur

Bu adım isteğe bağlıdır, ancak kurulum için önerilir. Takas bölümleri, sabit diskin RAM'i desteklemeye yardımcı olan bölümleridir. 512 MB RAM örneği gibi daha küçük Vultr bulut sunucularında, takas bölümü oluşturmak performans için faydalı olacaktır. Takas eğitiminin otomatik bir sürümü için aşağıdaki komutları kullanın.

$ git clone https://github.com/teamtofu/server-tools.git tools
$ bash ./tools/swap.sh

Genel olarak konuşursak, kalıcı uygulamalar ayarlarken 4 GB RAM veya daha fazla RAM içeren örneklerde swap kullanımı gerekli olmaz, ancak uygulamaların performansını artırabilir. RAM takastan daha duyarlıdır, bu nedenle daha fazla RAM'e sahip örnekler takastan bağımsız olarak daha iyi sonuçlar verir.

İpliği Tak

İplik, Node.js paketleri için Facebook'tan kullanımı kolay bir paket yöneticisidir. NPM'den daha hızlıdır ve deterministiktir, bu da özellikle birden fazla sunucu dağıtırken yararlıdır.

$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
$ sudo apt-get update && sudo apt-get install yarn

Bununla birlikte, İplik yerine NPM kullanılabilir ve bu eğitimdeki tüm komutlarla karşılaştırılabilir komutlara sahiptir.

Node.js uygulamanızı yükleyin

Uygulamanız git deposunda barındırılıyorsa, kopyalayın ve kullanın yarn install. Uygulamanızda genellikle server.jsveya index.jssonraki adımlarda kullanılacak bir sunucu giriş dosyası bulunmalıdır .

Process Manager 2'yi yükleyin

Process Manager 2, uygulamayı otomatik olarak yeniden başlatacak pakettir. Process Manager 2 çok popüler ve Microsoft, PayPal ve Intuit tarafından kullanılıyor, bu yüzden güvenli ve güvenilir.

$ yarn global add pm2

Uygulamanızı işlem olarak ekleyin

Uygulama arka plana alınacak (arka planda çalıştırılacak) ve start komutuyla otomatik olarak yeniden başlatılacak.

$ pm2 start [path to your entry.js] -i max

Maksimum sayıda işlemi otomatik olarak başlatmak istiyorsanız, -i maxargümanı iletin. Bu Vultr örneğinin tek kullanımı uygulamayı sunmaksa, bu önerilir. Birden fazla CPU'ya sahip Vultr bulut sunucuları için birden çok işlem başlatılır ve Process Manager 2, tüm bu ayrı işlemler için yük dengeleyici olarak işlev görür.

Uygulamanızı önyüklemede otomatik olarak başlatın

Uygulamayı başlattıktan sonra uygulamanın yapılandırmasını kaydedin. Ardından, Ubuntu başlatıldığında arka planda İşlem Yöneticisi 2'yi otomatik olarak çalıştırmak için başlatma komutunu çalıştırın. Ubuntu 16.04 için, İşlem Yöneticisi 2'ye bağlanacaktır systemd.

$ pm2 save
$ pm2 startup

Şimdi Node.js uygulamanız bir hata nedeniyle çökerse yeniden başlatılır ve Ubuntu herhangi bir nedenle çökerse, işlem otomatik olarak Ubuntu ile yeniden başlatılır. İşlemler ile yeniden başlatılabilir pm2 gracefulReload allve Process Manager 2 ile yeniden başlatılabilir pm2 update. Process Manager 2'nin önyüklemede başlatılmasını durdurmak için çalıştırın pm2 unstartup.

Test yapmak

rebootUbuntu başlatıldıktan sonra uygulamanızın sunulup sunulmadığını görmek için yazmayı ve kontrol etmeyi deneyin . Uygulama web için ve bağlantı noktası üzerinden hizmet ederse 80, o zaman curl http://localhost/başlangıç sayfanın HTML kodunu gösterecektir. Çalışmaması durumunda, komut pm2 statusçalışan işlemleri gösterecektir ve start komutu yeniden gönderilebilir.

Uygulamanın yeni sürümlerini dağıtma

Uygulama, git deposunu çekmek gibi güncellenmişse, çalışan uygulama işlemlerini güncellemek için bir komut verilmelidir.

$ pm2 update

Örnek kullanım

Hizmet olarak popüler bir açık kaynaklı platform olan Ayrıştırma Sunucusu , bir uygulama için arka uç görevi görür. Arka uç, kod veya istek hacmindeki hatalar nedeniyle çökebilir, ancak diğer sunucular (ve / veya işlemler) çalışmaya devam ettiği ve Ayrıştırma Sunucusu işlemi hızlı bir şekilde yeniden başlatıldığı için uygulamada kesinti olmaz.



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