Nginx'i Debian 12'ye yükleyin

Nginx I Debian 12 Ye Yukleyin



Bu kılavuzda, Debian 12'de Nginx'in nasıl kurulacağını ve yapılandırılacağını göstereceğiz.

Önkoşullar:

Bu kılavuzda gösterilen adımları gerçekleştirmek için aşağıdaki bileşenlere ihtiyacınız vardır:

  • Düzgün yapılandırılmış bir Debian 12 sistemi. Çıkış yapmak Debian'ı VirtualBox VM'ye nasıl kurabilirim? .
  • Sudo ayrıcalığına sahip, root olmayan bir kullanıcıya erişim. Hakkında daha fazla öğren kullanarak sudo ayrıcalığını yönetmek /etc/sudoers Debian'da .

Debian'da Nginx

tarafından geliştirilmiş ve bakımı yapılmıştır. Debian Projesi , Debian bir popüler , ücretsiz ve açık kaynaklı Linux dağıtımı. Debian istikrarı, güvenliği ve topluluk desteğiyle tanınır. Debian 12 (kod adı “kitap kurdu”) en son kararlı sürümdür. Hakkında daha fazla öğren Debian 11'den Debian 12'ye yükseltme .







Nginx yüksek performansı, ölçeklenebilirliği, bellek verimliliği ve güvenliğiyle tanınan ücretsiz ve açık kaynaklı bir web sunucusudur. Ayrıca ters proxy, yük dengeleyici, HTTP önbelleği vb. olarak da işlev görebilir.



Debian'da Nginx'e doğrudan resmi paket depolarından ulaşılabilir. Ancak, bunun bir sonucu olarak biraz güncelliğini yitirmiş olabilir. Debian'ın paket yayınlama döngüsü . Neyse ki Nginx, en son sürümleri içeren resmi bir Debian deposu sunuyor.



Yöntem 1: Nginx'i Debian Repo'dan Yükleme

Öncelikle bir terminal penceresi açın ve APT repo önbelleğini güncelleyin:





$ sudo uygun güncelleme

Nginx, “nginx” paketi olarak mevcuttur:



$ uygun gösteri nginx

Nginx'i yüklemek için aşağıdaki komutu çalıştırın:

$ sudo uygun düzenlemek Nginx

Yöntem 2: Nginx'i Nginx Repo'dan yükleme

Nginx APT deposunu yapılandırmak, Nginx'in en son sürümünü sağlar. Ancak varsayılan depodaki diğer Nginx paketleriyle çakışabilir.

Önkoşulları Yükleme

Öncelikle önkoşul paketlerini yükleyin:

$ sudo uygun düzenlemek curl gnupg2 ca-sertifikaları lsb-sürüm debian-arşiv-anahtarlık

GPG İmzalama Anahtarını İçe Aktarma

APT'nin indirilen paketlerin orijinalliğini doğrulaması için Nginx imzalama anahtarı gereklidir. İmza anahtarını alın:

$ https'yi kıvırmak: // nginx.org / anahtarlar / nginx_signing.key | gpg --dearmor | sudo tişört / usr / paylaşmak / anahtarlıklar / nginx-arşiv-anahtarlık.gpg > / geliştirici / hükümsüz

Doğru anahtarın içe aktarılıp aktarılmadığını doğrulayın:

$ gpg -- kuru çalışma --sessizlik --anahtarlık yok --içe aktarmak --içe aktarma seçenekleri ithalat gösterisi / usr / paylaşmak / anahtarlıklar / nginx-arşiv-anahtarlık.gpg

Çıktı, anahtarın parmak izi olarak 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62'yi yazdırmalıdır. Değilse dosyayı kaldırın /usr/share/keyrings/nginx-archive-keyring.gpg ve işlemi yeniden başlatın.

Nginx APT Repo Ekleme

İmza anahtarı yüklendiğinde artık Nginx deposunu APT'ye ekleyebiliriz. Nginx iki sürüm dalı sunar:

stabil : Üçüncü taraf modüllerle daha iyi uyumluluk. Yalnızca kritik düzeltmeleri alır.

ana hat : Yeni özellikler modül uyumluluğunu etkileyebilir. Ancak daha fazla hata düzeltmesi, güvenlik yaması ve kritik düzeltmeler alıyor.

Nginx resmi olarak her durumda ana hat şubesinin konuşlandırılmasını önerir. Nginx ana hat dalını eklemek için aşağıdaki komutu çalıştırın:

$ Eko 'deb [imzalayan=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/debian 'lsb_release -cs' nginx' | sudo tişört / vesaire / uygun / kaynaklar.liste.d / nginx.listesi

Bunun yerine Nginx kararlı dalını istiyorsanız aşağıdaki komutu çalıştırın:

$ Eko 'deb [imzalayan=/usr/paylaşım/anahtarlıklar/nginx-arşiv-anahtarlık.gpg] http://nginx.org/packages/debian 'lsb_release -cs' nginx' | sudo tişört / vesaire / uygun / kaynaklar.liste.d / nginx.listesi

Repo Sabitleme

APT'yi Nginx ile ilgili paketlerle uğraşırken Nginx deposunu kullanmaya zorlamak için repo sabitlemeyi etkinleştiriyoruz:

$ Eko -Bu 'Paket: * \N Pin: Origin nginx.org \N Pin: yayın o=nginx \N Pin Önceliği: 900 \N ' | sudo tişört / vesaire / uygun / tercihler.d / 99nginx

Nginx'i yükleme

Yeni repo yapılandırıldığında APT repo önbelleğini güncelleyin:

$ sudo uygun güncelleme

Nginx paket bilgilerine göz atın:

$ uygun gösteri nginx

Son olarak Nginx'i yükleyin:

$ sudo uygun düzenlemek Nginx

Güvenlik Duvarı Ayarlaması

Debian, önceden yüklenmiş iptables (netfilter) güvenlik duvarı ile birlikte gelir. Ancak kullanım kolaylığı açısından, kullanılması tavsiye edilir. UFW güvenlik duvarı . Temel olarak netfilter için daha kullanıcı dostu bir ön uçtur.

Varsayılan olarak UFW, Nginx'in ağ erişimini engeller. Hem HTTP/HTTPS erişimine izin vermek için aşağıdaki komutu çalıştırın:

$ sudo izin ver 80 , 443 / TCP

Yalnızca HTTP erişimini istiyorsanız bunun yerine aşağıdaki komutu kullanın:

$ sudo izin ver 80 / TCP

Yalnızca HTTPS erişimini istiyorsanız bunun yerine aşağıdaki komutu kullanın:

$ sudo izin ver 443 / TCP

Kuralların başarıyla eklenip eklenmediğini doğrulayın:

$ sudo ufw durumu

Nginx Kurulumunu Doğrulama

Nginx kurulumunun başarılı olup olmadığını doğrulamanın birkaç yolu vardır. Öncelikle Nginx hizmetinin durumunu kontrol edin:

$ sudo systemctl durumu nginx

Çalışmıyorsa sunucuyu başlatın:

$ sudo systemctl nginx'i başlat

Şimdi aşağıdaki URL'yi bir web tarayıcısında açın:

$ http: // localhost_or_server_ip /

Varsayılan Nginx karşılama sayfasına gitmelisiniz.

Nginx Sürecini Yönetmek

Kurulumun ardından Nginx, systemd'ye bir hizmet kaydeder. Hizmeti kullanarak Nginx süreçlerini kolaylıkla yönetebiliyoruz.

Nginx Durumu

Aşağıdaki komut Nginx'in durumunu döndürür:

$ sudo systemctl durumu nginx

Nginx'i Durdurmak

Aşağıdaki komut Nginx'i durdurur:

$ sudo systemctl nginx'i durdur

Nginx'i Başlatmak

Nginx çalışmıyorsa sunucuyu başlatmak için aşağıdaki komutu kullanın:

$ sudo systemctl nginx'i başlat

Nginx'i yeniden yükleme

Nginx, yapılandırmasında herhangi bir değişikliğin uygulanması için tam bir yeniden başlatma gerektirmez. Bu durumda Nginx hizmetini herhangi bir bağlantıyı kesmeden yeniden yükleyebiliriz:

$ sudo systemctl nginx'i yeniden yükle

Nginx'i yeniden başlatma

Nginx sunucusunu yeniden başlatmak için aşağıdaki komutu çalıştırın:

$ sudo systemctl nginx'i yeniden başlat

Nginx'i Yeniden Yükleme veya Yeniden Başlatma

Nginx'i yeniden yüklemek mi yoksa yeniden başlatmak mı istediğinizden emin değilseniz aşağıdaki komutu kullanın:

$ sudo systemctl nginx'i yeniden yükleyin veya yeniden başlatın

Bu durumda systemd en iyi eylem planına otomatik olarak karar verir.

Bonus İpuçları 1: Nginx Blokları

Apache'deki sanal ana bilgisayarlara benzer şekilde Nginx de tek bir sunucuda birden fazla ana bilgisayarı destekler.

İşte iki sanal sunucuyu yöneten sahte bir yapılandırma ( kaynak ):

http {

indeks indeksi. HTML ;

sunucu {

sunucu_adı www. etki alanı1 . ile ;

erişim_log günlükleri / etki alanı1. erişim . kayıt ana ;

kök / öyleydi / www / etki alanı1. ile / htdocs ;

}

sunucu {

sunucu_adı www. etki alanı2 . ile ;

erişim_log günlükleri / etki alanı2. erişim . kayıt ana ;

kök / öyleydi / www / etki alanı2. ile / htdocs ;

}

}

Dosya, konfigürasyon dosyası içinde her biri çeşitli özellikleri tanımlayan birden fazla blok içerir. En önemli bloklar sunucu ve konum bloklarıdır:

  • sunucu : Belirli bir türdeki istemci isteklerini işlemek için bir sanal sunucuyu tanımlar. Birden fazla sanal sunucu için birden fazla sunucu bloğu bulunabilir. Gelen bağlantılar, talep edilen alan adı, IP adresi ve porta göre farklı sunucu bloklarına yönlendirilir.
  • konum : Sunucu bloğunun içindeki bir alt bloktur. Nginx'in farklı kaynaklar için gelen istemci isteklerini nasıl ele alması gerektiğini açıklar.

Bu yapılandırmalar aşağıdaki dosyalarda saklanır: /etc/nginx/sites-mevcut . Her sunucu bloğu için benzersiz dosyalar olabilir. Yapılandırmalar altına yerleştirildiğinde uygulanır. /etc/nginx/sites-enabled . Genel olarak, mevcut sitelerdeki yapılandırma dosyaları, etkin sitelere sembolik olarak bağlanır.

Bonus İpuçları 2: Önemli Nginx Dosyaları ve Dizinleri

Önemli Nginx dosyalarının ve dizinlerinin kısa bir listesi:

  • /etc/nginx : Tüm Nginx yapılandırmalarını barındıran ana dizin.
  • /etc/nginx/sites-mevcut : Sunucu blok dosyalarını içerir. Yapılandırma dosyaları kullanılmaz.
  • /etc/nginx/sites-enabled : Ayrıca site bazında sunucu bloklarını da barındırır. Genellikle mevcut sitelerden gelen sembolik bağlantılardır. Nginx, istemci isteklerine hizmet etmek için bu dizindeki yapılandırmaları aktif olarak kullanır.
  • /etc/nginx/snippet'ler : Başka bir yerde uygulanabilecek konfigürasyon parçalarını barındırır.
  • /etc/nginx/ngnix.conf : Nginx için birincil yapılandırma dosyasıdır. Nginx'in küresel davranışını yönetir.

Çözüm

Nginx'i Debian'a kurmanın çeşitli yollarını gösterdik. Ayrıca systemd kullanarak Nginx işlemlerinin nasıl yönetileceğini de kısaca ele aldık. Ayrıca Nginx bloklarına ve Nginx'in birden fazla sanal ana bilgisayara hizmet verecek şekilde nasıl yapılandırılabileceğine de kısaca değindik.

Nginx hakkında daha fazla bilgi edinmek ister misiniz? Kontrol et Nginx alt kategorisi .