DevOps için NGINX Yapılandırması: Serverion'un Sıfır Kesinti Süresiyle Dağıtımlar İçin Püf Noktası
Sıfır kesinti süresi dağıtımları hizmeti kesintiye uğratmadan uygulamanızı güncellemek anlamına gelir - kısa bir kesintinin bile milyonlarca dolara mal olabileceği işletmeler için bir zorunluluktur. NGINX, ana işçi süreç modeli ve akıllı sinyaller gibi özellikleri kullanarak bunu mümkün kılar ABDR2 (yeni süreçler başlat) ve HUP (yeniden yükleme yapılandırması). İşte anahtar:
- Nasıl çalışır?: NGINX, bağlantıları kesmeden trafiği eski çalışanlardan güncellenenlere kaydırır.
- Önemli adımlar: Sinyal kullanımı (
ABDR2,HUP, vb.), yapılandırınnginx.confDoğru şekilde yükleyin ve yeniden yüklemeden önce değişiklikleri doğrulayın. - Teknikler: Sorunsuz güncellemeler için NGINX'i mavi-yeşil dağıtımlar veya Docker gibi yöntemlerle birleştirin.
- Sağlık kontrolleri: NGINX'in pasif veya aktif sağlık kontrollerini kullanarak yalnızca sağlıklı sunucuların trafiği işlediğinden emin olun.
Doğru yapılandırmayla, güncellemeler sırasında hizmetlerinizin sorunsuz çalışmasını sağlayabilir, gelirinizi koruyabilir ve müşteri güvenini sürdürebilirsiniz.
Sıfır Kesinti Süresi Dağıtımları için NGINX Temelleri

Sıfır Kesintisiz Dağıtım Açıklaması
NGINX, hizmeti kesintiye uğratmadan güncellemeleri işlemek için bir ana-işçi modeli kullanır. Ana işlem yapılandırmayı ve denetimi denetlerken, işçi işlemleri istemci bağlantılarını yönetir. Bu kurulum, güncellemeler sırasında trafiğin eski çalışanlardan yenilerine sorunsuz bir şekilde geçmesini sağlayarak kesintisiz hizmeti garanti eder.
NGINX Bağlantı Yönetimi
NGINX, yükseltmeler veya yapılandırma değişiklikleri sırasında süreçleri kontrol etmek için belirli sinyallere güvenir:
- ABDR2: Yeni ana ve çalışan süreçleri başlatır.
- VİNÇ: Eski çalışan süreçlerini düzgün bir şekilde durdurur.
- HUP: Yapılandırmayı yeniden yükler ve çalışanları değiştirir.
- ÇIKIŞ YAPMAK:Ana ve işçileri nazikçe kapatır.
Yeniden yükleme sırasında NGINX eski ana işlem kimliğini şuraya taşır: /çalıştır/nginx.pid.oldbin, yeni ana işlem kimliğini yazar /çalıştır/nginx.pidve eski çalışanların kapanmadan önce etkin istekleri tamamlamalarına olanak tanır.
Modern Uygulama Dağıtımları: NGINX ve JFrog'u kullanarak …

NGINX'i Sürekli Çalışma İçin Ayarlama
Yeniden yüklemeler sırasında bağlantıları etkin tutmak için, aşağıdaki ayarlarla NGINX'in ana-işçi mimarisinden yararlanın.
NGINX Yapılandırmasının Temel Adımları
Aç çoklu_kabul çalışanların olay başına birden fazla bağlantıyı yönetmesine izin vermek için. İşte bunun için bir örnek yapılandırma nginx.conf:
worker_processes auto; pid /run/nginx.pid; olaylar { worker_connections 1024; multi_accept açık; } http { yukarı akış arka ucu { sunucu arka ucu1.example.com:8080; sunucu arka ucu2.example.com:8080; canlı tutma 32; } sunucu { dinleme 80; sunucu_adı example.com; konum / { proxy_pass http://arka uç; proxy_http_sürüm 1.1; proxy_set_header Bağlantı ""; proxy_set_header Ana Bilgisayar $host; proxy_set_header X-Gerçek-IP $remote_addr; } } } Kesinti Olmadan Yapılandırmayı Yeniden Yükleme
- Değişiklikleri uygulamak için mevcut çalışanları yeniden yükleyin:
nginx -s yeniden yükle - Güncellenen ana işlem kimliğini kontrol edin:
kedi /run/nginx.pid - Trafiği durdurmadan ikili yükseltmeyi gerçekleştirin:
kill -USR2 $(cat /run/nginx.pid) kill -WINCH $(cat /run/nginx.pid.oldbin)
Bu adımlar, eski ve yeni çalışanlar arasındaki trafiğin sorunsuz bir şekilde geçişini sağlayarak kesintisiz hizmetin sağlanmasına olanak tanır.
sbb-itb-59e1987
NGINX ile Dağıtım Yöntemleri
Mavi-yeşil kurulumlar veya konteyner tabanlı yaklaşımlar gibi tekniklerden yararlanarak sıfır kesinti süresine sahip dağıtımlar elde etmek için NGINX'i kullanabilirsiniz.
Mavi-Yeşil Dağıtım Kurulumu
NGINX ile iki ortam arasındaki trafiği yönetebilirsiniz; buna genel olarak mavi ve yeşil. Bu ortamlar aynıdır, ancak aynı anda yalnızca biri etkindir. İşte nasıl çalıştığı:
- Güncellenmiş sürümü, etkin olmayan ortama (örneğin yeşil) dağıtın.
- Yeni sürümün düzgün çalıştığından emin olmak için sağlık kontrollerini çalıştırın.
- Doğrulandıktan sonra, güncelleyin NGINX yapılandırması trafiği güncellenen ortama yönlendirmek için.
- Yapılandırmayı kullanarak yeniden yükleyin
HUPherhangi bir aktif bağlantının kesilmesini önlemek için sinyal.
Bu yöntem, hizmet kesintisi olmadan sorunsuz bir geçiş sağlar.
Docker ve NGINX Entegrasyonu
Docker'ı NGINX ile kullanmak, hem uygulamanız hem de proxy katmanlarınız için tutarlı ortamları koruyarak dağıtımları kolaylaştırır. Sıfır kesinti süresi güncellemelerini şu şekilde elde edebilirsiniz:
- Yeni konteyneri, mevcut etkin konteynerin yanına başlatın.
- Yeni konteynerin hazır olduğunu doğrulamak için sağlık kontrollerini gerçekleştirin.
- Yeni konteyneri içerecek şekilde NGINX yukarı akış yapılandırmasını değiştirin.
- Yapılandırmayı şu şekilde yeniden yükleyin:
HUPsinyal, eski işçilerin çıkmadan önce işlemlerini tamamlamalarına olanak sağlıyor.
Bu yaklaşım, uygulamanızın güncellenmesi sırasında kesintisiz hizmet almanızı sağlar.
Test ve Doğrulama
Sağlık Kontrollerini Yapılandırın
NGINX sağlık kontrolleri yalnızca işlevsel sunucuların trafiği işlemesini sağlamaya yardımcı olur. Bu kontroller, yukarı akış yapılandırması ve mavi-yeşil yönlendirmeyle birlikte çalışır. NGINX iki tür sağlık kontrolü sunar: pasif (NGINX Açık Kaynak'ta mevcuttur) ve aktif (sadece NGINX Plus'a özel).
NGINX Open Source'ta pasif sağlık kontrolleri için, yukarı akış bloğunuzu şu şekilde ayarlayın:
yukarı akış arka ucu { sunucu arka ucu1.serverion.com:8080 max_fails=3 fail_timeout=30s; sunucu arka ucu2.serverion.com:8080 max_fails=3 fail_timeout=30s; bölge arka ucu 64k; } NGINX Plus kullanıyorsanız, etkin sağlık kontrollerini ekleyerek etkinleştirebilirsiniz. sağlık_kontrolü bir yönerge ile birlikte kibrit engellemek:
konum / { proxy_pass http://backend; sağlık_kontrolü aralığı=5s başarısızlık=3 başarı=2 zorunlu kalıcı; sağlık_kontrolüyle eşleşme { durum 200; başlık İçerik Türü = uygulama/json; gövde ~ '"durum":"UP"'; } } NGINX'i yeniden yüklemeden önce bu yapılandırmaları doğruladığınızdan emin olun.
Yapılandırmayı Doğrula
Yeniden yüklemeden önce NGINX yapılandırmanızı her zaman doğruluk açısından test edin. Aşağıdaki komutu kullanın:
nginx -t -c /nginx.conf/dosyanıza/giden/yol Sıfır Kesintisiz Dağıtım Temelleri
Sıfır kesinti süresi dağıtımlarına ulaşmak, dikkatli NGINX yapılandırmasına ve sağlam altyapı planlamasına bağlıdır. Bu unsurlar, güncellemelerin kesintiler olmadan gerçekleşmesini sağlamak için birlikte çalışır.
Başarının temel faktörleri şunlardır:
- Proses kontrolü ve yapılandırma doğrulaması: Kapsamlı test protokollerine bağlı kalarak NGINX mimarisinin tüm avantajlarından yararlanın.
- Altyapı istikrarı: Dağıtım süreci boyunca tutarlı performansı koruyun ve güvenliği sıkı tutun.
Sağlık kontrolleri ve geri alma adımları hakkında ayrıntılar için şuraya bakın: Test ve Doğrulama bölüm.
Serverion'nin platformu bu çabaları güvenilir istikrar ve güvenlikle destekliyor. küresel veri merkezleri Güncellemeler sırasında performansın sabit kalmasını sağlar ve yerleşik DDoS koruması güvenliğin bozulmadan kalmasını sağlar.
Kritik olmayan hizmetlerde özellik geçişlerini kullanarak küçük başlayın. Stratejinizin merkezinde düzenli test, yakın izleme ve net geri alma planları tutarken kademeli olarak ölçeklendirin.
İlgili Blog Yazıları
- Optimum Web Sunucusu Performansı için Nginx Yapılandırmalarında Uzmanlaşma
- NGINX Yapılandırmasında Ustalaşma: Serverion B2B Web Barındırma Başarısının Kilidini Nasıl Açıyor
- NGINX Yapılandırma Geri Sarma: Serverion, Proxy Önbellek Ayarlamasının Kayıp Sanatını Yeniden Canlandırıyor
- Unutulmuş NGINX Yapılandırma Sınırı: Serverion'ın FastCGI Mikro Önbelleğe Alma Dalışı