Tüm rehberler
NODE.JS API

VPS için bir Node.js API: dağıtım ve boyut kontrol listesi

VPS için bir Node.js API çalıştırarak, süreç gözetimi, gerçek bellek kullanımı, davranış, sırları, veritabanı erişimi ve test kurtarma.

Uygulama runtime ve bağımlılıklarıyla başlayın

VPS için bir Node.js API uyumlu bir ortama ve bir yönetim sahibine ihtiyaç duyar. Runtime gerekliliklerini, paket kilitfile, yerli bağımlılıkları, veritabanı ve işçileri kaydetmek. Desteklenen bir Active LTS veya Bakım LTS sürümü projeyle uyumlu olarak, o zaman dağıtılan süreç tarafından kullanılan ekinleri doğrulayın.

API doğrudan Linux'ta veya bir konteynerde çalışırsa karar verin. Bir dağıtım seçimi Node.js uygulamanızı veya veritabanınızı yüklemez. Docker hazırlığı ilk bir ortam seçimidir; uygulama kodu, runtime uyumluluk ve çalışma API hala teslimattan sonra uygulanmalıdır ve doğrulanmalıdır.

Karşılaştırma Linux VPS ortamları for your API

Süreç denetimi, başlangıç ve kapanış

API'i interaktif bir SSH terminalinde başlatmak tam bir üretim yaşam döngüsü değildir. Bir denetçi seçin: örneğin, doğrudan bir dağıtım için sistemli veya konteyner taşıma süresi konteynerler için. Hızlı, çalışma rehberi, hizmet hesabı ve yapılandırma kaynağı kaydetmek. Etkileşimli kabuk ortamınız olmadan başlangıç yapın.

kontrollü bir süreç başarısızlığı ve planlı bir yeniden başlatma test edin. Yeniden başlatma kuralları ve tanıları bu yüzden kalıcı bir hata açıklanamaz bir yeniden başlatma döngüsü haline gelmez. Tekrar çalışan bir süreç veritabanının bağlantılı olduğu veya API hazır olduğu kanıt değildir. Test lütuflu sonlandırma: Yeni çalışmayı kabul etmeyi bırakın, uygun bir şekilde ve uygulamanın yönlendirmeden önce bağlantılarını kapat.

Gerekirse masayı yatay olarak kapatın.

API dağıtımını ve kabul kontrollerini kaydetmek
BölümKayıt Olabilmek için Karartoplamak için kanıt toplamak
RuntimeDesteklenen Node.js sürüm ve uygulama gereksinimleriDenetimli süreç, amaçlanan executable işlemini kullanır
Yaşam döngüsüDanışman, hesap ve yeniden politikaStartup, başarısızlık kurtarma ve kapanma test edildi
Herkese açık erişim noktasıDomain, and private application endpointHTTPS ve gerçek API talepleri amaçlanan yolu kullanıyor
Veritabanı ve işçilerKonum, güvenilirlik, tutarlılık ve veri sahipliğiBağlantılar, yazar ve işler temsilci yükleri altında davranır
KurtarmaYayın, yapılandırma, veri kopyaları ve geri dönüşüm kapsamıBir çalışma API'i ayrı bir geri yükleme

Docker VPS bir konteyner dağıtım için hazırlık

RAM ve CPU'i istek davranışlarından seçin

Ön hafıza, bir temsilci karışımı altında gecikme ve hataları talep edin API endpoints. Paraload boyutlarını, eş zamanlı veritabanı çağrılarını ve sunucuyu paylaşan herhangi bir arka iş ekleyin. Node.js Süreç.memoryUsage RSS ve V8 heap bilgileri bildiriyor; sadece tam süreci, yerli tahsislerini veya diğer hizmetleri tam işlem olarak tarif etmiyor. VPS.

Bir V8 eski uzay sınırı sadece hafıza kullanımının bir kısmını kontrol eder ve tüm ev sahibi tahsisini tüketmemelidir. Daha fazla vCPUs aynı zamanda paralel olarak tek bir olay döngüsünde bloke edilmiş bir çağrı gerileme yapmaz. Daha büyük bir sunucu için ihtiyaç olarak yavaş uç noktası yorumlamadan önce pahalı senkronizasyonu, sorguları ve koncurrency'i arayın. Birden fazla işlemi kasıtlı olarak çalıştırırsanız, birleşik hafızalarını ve bağlantı sayılarını ölçmek.

Bir Docker yığınında veri tabanı ve işçi hafıza

Kamu proxy ve özel uygulama sınırı kontrol edin

Hangi bileşenin kamu istekleri aldığını ve hangi uç noktası API'e eriştiğini tanımlayın. Bir ters proxy kullanırken, uygulamanın dinleme adresini yapılandırın, proxy hedefi ve güven kuralları kasıtlı olarak. forwarded müşteri ya da plan başlığının her kaynaktan güvenilir olduğunu varsaymayın. İnceleme isteğinin sınırları ve her iki tarafta da aslında sağladığınız uç noktaları için zamanları.

Gerçekleştirilmiş bir istek test edin, beklenen bir doğrulama hatası, desteklenen ve başvuru bir tane gerektiriyorsa daha büyük bir yükleme. HTTPS hostname ve müşteri davranışını kontrol edin, tarayıcı kaynaklı kurallar da dahil. Planlanan kamusal rota dışında veritabanı ve yönetim uç noktaları tutun. Nginx kontrol listesi ev sahibi ve sertifika kurulumunu kapsar; bu kontroller API'in geride nasıl davrandığını doğrular.

Eğer Nginx 502 döndürürse, uygulama loguyla üst düzey hatasını karşılaştırır. API'in yapılandırılmış adres ve limanda çalıştığını kontrol edin, sonra proxy'nin kendi ağ bağlamından bu uç noktası test edin. Ayrı konteynerlerde, yerelhost her bir konteynerin kendi ortamına atıfta bulunur; amaçlanan upstream yerine hizmet adına ihtiyaç duyabilir. Bu başarısız bağlantıyı kamu duvarı değiştirmeden veya daha büyük bir VPS seçmeden önce araştırın.

Nginx host routing, HTTPS ve proxy dağıtım

Süreç için yapılandırma ve kimlik kapsamını tutun

Çevre değişkenlerini ve diğer yapılandırmaları listeleyin API Her bir sır için belgelenmiş bir sahibi ile. Node.js İşlem yoluyla başlangıç değişkenlerini okuyabilirsiniz, ancak çevre değişkenlerini seçmek, şifreleme, rotasyon veya erişim kontrolü sağlamaz. Kamu web sitesinden gizli malzeme tutun, kaynak havuzu ve uygulama yanıtları.

Uygulamayı varsayılan olarak yönetici ayrıcalıklarını kullanmak yerine ihtiyaç duyduğu izinlerle çalıştırın. Hizmet hesabının amaçlanan konfigürasyonunu okuyabildiğini ve sadece gerekli verileri yazabileceğini onaylayın. Kırmızıact jetleri ve girişlerden hassas para yükleri. Kamu üretim yolundan caydırıcı tutun ve uygulamanın test edilen serbest bırakılması sürecinde bağımlılık güncellemelerini gözden geçirin.

Veritabanı, kuyrukları ekleyin ve kurtarmada yükler

Veritabanının ve kuyrukların yerel veya dış olup, seçilen süreç ve işçi sayının etrafındaki bağlantı sınırlarını yapılandırın. Tekrar işitme veritabanı kullanılabilirlik ve bir işçi tekrar tekrar iş eylemleri yaratmadan yeniden deneme. Bir API sağlık uç noktası, yalnızca çalışan bir süreci onaylayan bir nokta, kullanıcıların ihtiyaç duyduğu kritik bağımlılığın mevcut olduğunu söyleyemez.

Bir kurtarma seti, kullanılabilir sürüme, gerekli yapılandırmaya, veritabanı verilere ve herhangi bir yüklemeye veya dayanıklı iş durumuna ihtiyaç duyar. Yetkili bir operatörün hizmeti yeniden inşa edebilirken kimlikleri koruyun. Üretimden restorasyon ve seçilen yedeklemeden sonra kaybedilen işi tespit edin. Bir Node.js sürecini iptal etmek veya imajını çekmek uygulama kayıtlarını geri yüklemez.

Eksiksiz bir uygulama kurtarma seti oluşturun ve test edin

Gerçek API kontrollerini kullanarak salıverin

Müşterileri bir dağıtıma yönlendirmekten önce, domaini kontrol edin, izinler, hatalar ve gerçek okuma / yazma işlerini kontrol edin. Yeniden başlatmadan sonra, kullanılabilir loglar ve kontrollü bir yeniden başlatma. Yayın tanımlayıcısı ile sonucu kaydetmek ve çevre test etmek.

veritabanı geri yüklemeden ayrı tutun. Önceki uygulama salıvermeine geri dönmek, uyumlu bir şema değişikliği veya yeni yazılı kayıtların ardından güvensiz olabilir. Uygulama geliştirici ile bu kararı planlayın, sonra mevcut VPS kaynaklarını gözden geçirin ve ölçümlenen iş yüküne karşı alıntı yapın. Hosting ödeme ve hizmet teslimi kendi API'inizin kabul edilmesinden ayrı kalır.

  • Desteklenen runtime ve başlangıç denetimli uygulama gereksinimleriyle eşleştirir.
  • Temsilciler talepleri ve işçiler, ölçülen kaynak tahsisine uygundur.
  • Kamu yönlendirme, doğrulama ve özel bağımlılıklar test edildi.
  • Sırlar, veri kurtarma ve veritabanı geri yükleme kararının bir sahibi vardır.
  • Hiçbir uygulama hazırlığı iddia sadece bir koşu sürecine bağlıdır.
Karşılaştırma Linux VPS yapılandırmalarıDiğer kılavuzlar