Ubuntu 20.04 LTS'ye Nginx Nasıl Kurulur

Ubuntu 20.04 sisteminde bir Nginx web sunucusu kurmak ve kurmak için tam adım adım kılavuz

Nginx, birden fazla platformda kullanılabilen açık kaynaklı ve popüler bir ters proxy web sunucusudur. Yazılım tarafından geliştirildi İgor Sisoev C10K sorununa bir çözüm olarak ve ilk olarak 2004 yılında piyasaya sürüldü. C10K sorunu, 2000'li yılların başında pek kolay olmayan on bin istemciyi aynı anda ele alma sorunudur.

Bu eğitimde, Ubuntu 20.04 LTS'de Nginx'in nasıl kurulacağına ve kurulacağına bakacağız.

Önkoşullar

Ubuntu 20.04 kurulu bir sistem ve bir sudo kullanıcı. Ayrıca, 80 veya 443 numaralı bağlantı noktasında çalışan Apache gibi başka bir web sunucunuz olması gerekmez.

Nginx'i yükleme

Nginx, Ubuntu 20.04 deposunda mevcuttur ve uygun Paket yöneticisi yüklemek için kullanılabilir. Bu nedenle, Nginx'i kurmak için terminali kullanarak açın. ctrl+alt+t ve koş:

sudo apt güncelleme && sudo apt nginx kurulumu

Kurulum yakında tamamlanacak ve Nginx arka plan programı otomatik olarak arka planda başlayacaktır. Bu nedenle, Nginx'in durumunu kontrol etmek için şunu çalıştırın:

sudo systemctl durumu nginx

Yukarıdaki komutu çalıştırdıktan sonra Nginx durumunu şu şekilde almalısınız: aktif(çalışıyor) aşağıda görüldüğü gibi yeşil renktedir.

Ubuntu Güvenlik Duvarını (UFW) Yapılandırma

Varsayılan olarak, giden bağlantı noktaları HTTP (80) ve HTTPS (443) Ubuntu 20.04'te kapalıdır. Ayrıca, varsayılan güvenlik duvarı arka plan programı ufw tüm bağlantı noktaları kapalı olduğundan devre dışı bırakılır.

Bu nedenle, Nginx sunucusuna diğer sistemlerden erişmek için aşağıdakileri etkinleştirmeniz gerekir. ufw ve bağlantı noktasında trafiğe izin vermek için doğru şekilde ayarlayın 80 ve 443. Etkinleştirmeden önce ufw, Nginx'i uzak bir sunucuya kuruyorsanız, önce şunu güncelleyin: ufw izin verme kuralları ssh koşarak:

sudo ufw ssh'ye izin ver

Yukarıdaki komut, ssh izin vermeden uzak sunucuya erişim ssh uzak sunucudan kilitleneceksiniz.

etkinleştirdikten sonra ssh erişim, etkinleştirebilirsiniz ufw güvenlik duvarı arka plan programı çalıştırarak:

sudo ufw etkinleştir

Şimdi, Nginx'in web trafiği sunabilmesi için güvenlik duvarı kurallarını HTTP ve HTTPS bağlantı noktalarına izin verecek şekilde değiştirmeniz gerekiyor. Kuralları değiştirmek için şunu çalıştırın:

sudo ufw 'Nginx Full'e izin veriyor

Nginx Dolu tüm IP adreslerinden gelen ve giden trafik için hem HTTP hem de HTTPS bağlantı noktalarına izin verir.

Bundan sonra, kuralların uygun şekilde eklenip eklenmediğini doğrulayın. ufw komutu çalıştırarak güvenlik duvarı:

sudo ufw durumu

Yukarıdaki komut, eklediğimiz kuralların çıktısını verecektir. ufw güvenlik duvarı arka plan programı.

Nginx Sunucusuna Bağlanmak

Artık Nginx'i kurduk ve yapılandırdık ufw gelen HTTP ve HTTPS web trafiğine izin vermek için, sunucunun IP adresini kullanarak Nginx sunucusuna erişebilmelisiniz.

Sunucunun IP adresini bilmiyorsanız, kolayca almak için aşağıdaki komutu kullanın.

ip adresi eth0'ı göster | grep giriş | awk '{ 2 $ yazdır; }' | sed 's/\/.*$//'

IP adresini aldıktan sonra, tarayıcınıza yapıştırın ve enter tuşuna basın.

//sunucu-ip'iniz

Her şey doğru yapılandırıldıysa, 'nginx'e Hoş Geldiniz!' web sayfasını görebilmeniz gerekir.

Nginx Dosyaları ve Dizinleri

Artık sunucunuzda Nginx kurulu ve çalışıyor. Web sitenizi/web uygulamanızı yapılandırmak için kullanmanız gereken bazı önemli Nginx dosyalarına ve dizinlerine bir göz atalım.

Web sunucusu İçeriği

Sunucu bloğunuz için kök dizininiz olmasını istediğiniz herhangi bir konumu yapılandırabilirsiniz. Nginx'in varsayılan HTML'si doğrudan /var/www/html, daha önce eriştiğimiz 'hoş geldiniz' sayfasının bulunduğu yerdir.

Genellikle alan adları için kök dizin olarak kullanılan diğer konumlar şunları içerir:

  • /ev//
  • /var/www/html/
  • /seç/

Nginx Yapılandırma Dosyaları

Tüm Nginx yapılandırma dosyaları şurada bulunur: /etc/nginx dizin. Temel bir etki alanı oluşturmak için ihtiyacımız olan bazı önemli dosyalara bakalım.

  • /etc/nginx/nginx.conf: Bu dosya, Nginx'i çalıştırmak için gereken tüm yapılandırmayı içerir.
  • /etc/nginx/siteler kullanılabilir/: Bu dizin, etki alanlarının tüm sunucu bloğu yapılandırmasına sahiptir, ancak şu anda etkinleştirilmemiştir/dağıtılmamıştır ve bu nedenle istemciler tarafından erişilebilir değildir.
  • /etc/nginx/siteler etkin/: Bu dizin, istemciler tarafından erişilebilen şu anda etkin/etkin etki alanlarını tutar. Bir etki alanını etkinleştirmek için etki alanı yapılandırma dosyasını şu adresten bağlamamız gerekir: siteler-mevcut için siteler etkin dizin.
  • /etc/nginx/snippet'ler/: Bu dizinde, potansiyel olarak yeniden kullanılabilir konfigürasyon segmentlerini saklayabiliriz. Yapılandırma segmentlerini/bloklarını yeniden kullanılabilir hale getirebilmesi nedeniyle üretim ortamında çok zaman kazandırır.

Sunucu Günlükleri

Nginx, olayları/etkinlikleri günlüğe kaydeder ve bunları günlük dosyalarında depolar. /var/log/nginx dizin. Nginx, şu dosyalardaki etkinlikleri günlüğe kaydeder:

  • /var/log/nginx/access.log: Bu dosya, Nginx sunucusuna erişen istemcileri günlüğe kaydeder. Ayrıntılar, istemcinin IP adresini, saat ve tarihi, sunucuya ve işletim sistemine erişmek için kullanılan tarayıcıyı içerir.
  • /var/log/nginx/error.log: Bu dosya, çalışırken Nginx sunucusunun karşılaştığı hataları günlüğe kaydeder.

Bu bölümde, başlamak için yeterli olan bazı önemli Nginx dosyalarına ve dizinlerine kısaca baktık.

Sunucu Bloklarını Ayarlama

Artık Nginx dosyaları ve sunucusu hakkında bazı temel bilgilere sahip olduğumuza göre, kendi sunucu bloğumuzu kurmaya hazırız. Sunucu blokları, Apache sanal ana bilgisayarlarına benzer.

Bir sunucu bloğunun nasıl oluşturulacağına bakacağız ve kullanacağımızı göstereceğiz. örnek.com oluşturma sürecinde etki alanı olarak.

💡 Değiştir örnek.com alan adınızla.

Sunucu Bloklarını yapılandırmaya başlamadan önce, web sitesi içeriği için kök dizin görevi görecek bir dizin oluşturmamız gerekiyor. yaratalım /var/www/example.com/html kullanan etki alanı için dizin mkdir emretmek.

sudo mkdir -p /var/www/example.com/html

bu -P seçenek, gereken tüm üst dizinleri yaratacaktır. Yani oluşturacak örnek.com için bir üst dizin html eğer mevcut değilse.

Dizinin sahipliğini şununla değiştirin: $USER Çevre değişkeni:

sudo chown -R $USER:$USER /var/www/example.com/html

Ardından, basit bir index.html yapılandırılmakta olan etki alanını ziyaret ettiğinizde erişilecek dosya. Bu sadece açıklama amaçlıdır.

nano /var/www/example.com/html/index.html

Aşağıdaki içeriği az önce sunucuda oluşturduğumuz dosyaya yapıştırın.

  example.com'a hoş geldiniz! 

Hey! example.com'a erişilebilir!

basmak ctrl+o yazmak ve kaydetmek için index.html dosyaya basın ve ardından ctrl+x çıkışa doğru nano editör.

Şimdi nihayet bir sunucu bloğu oluşturmaya geçebiliriz, böylece Nginx index.html bazı kullanıcı gittiğinde örnek.com. Bu yüzden bir sunucu bloğu oluşturmak için adında bir yapılandırma dosyası yapmamız gerekiyor. örnek.com içinde siteler-mevcut dizin. Bunu yapmak için nano kullanıyoruz ve şunu çalıştırıyoruz:

sudo nano /etc/nginx/sites-available/example.com

Ardından, aşağıdaki yapılandırmayı yazın veya kopyalayın/yapıştırın. sonra basın ctrl+o ve yazmak ve kaydetmek için girin. Benzer şekilde, basın ctrl+x nano düzenleyiciyi kapatmak için

sunucu { dinle 80; dinle [::]:80; sunucu_adı example.com www.example.com; kök /var/www/example-domain.com/html; dizin indeksi.html; konum / { try_files $uri $uri/ =404; } }

Yukarıdaki yapılandırma, varsayılan sunucu bloğu yapılandırmasına benzer, değiştirdik kök yeni kök dizinimize işaret edecek ve sunucu adı alan adımıza. iken yer{} deyimi, dosyalar bulunamazsa hata yakalama ifadesi olarak işlev görür ve istemciye 404 hatası görüntüler.

Ardından, Nginx'in hizmet vermesi için sunucu bloğumuzu etkinleştirebiliriz örnek.com internet sayfaları. Sunucu bloğumuzu etkinleştirmek için bir sembolik bağlantı oluşturmamız gerekiyor. örnek.com dosyadan siteler-mevcut ile siteler etkin dizin. Bunu yapmak için şunu çalıştırın:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled

içinde bir bağlantı oluşturulacak site etkin dizin ve şimdi örnek.com etkinleştirilmelidir. Şimdi Nginx sunucumuzda, isteğe bağlı olarak yanıt verecek iki sunucu bloğumuz var. dinlemek ve sever_name kayıtlı direktifler örnek.com sunucu bloğu yapılandırması.

Tüm yapılandırma dosyalarının doğru olup olmadığını ve sözdizimi hatasının olup olmadığını kontrol etmek için şunu çalıştırın:

sudo nginx -t

Şimdi, son olarak aşağıdaki komutu çalıştırarak değişiklikleri uygulamak için Nginx'i yeniden başlatın:

sudo systemctl nginx'i yeniden başlat

Nginx şimdi sunucu bloğunuza hizmet vermeye başlayacak, şuraya gidebilirsiniz: //alan-adınız ve web sayfanızı canlı olarak görün.

Not: Yukarıdaki bölümün çalışması için kendi etki alanınızı oluşturmanız ve örnek.com kendi alan adınızla. Ayrıca, alan adınız için DNS'yi Nginx sunucunuzun IP adresini gösterecek şekilde yapılandırmanız gerekir.

Sonuç olarak, Nginx'in nasıl kurulacağına, yapılandırılacağına baktık. ufw Nginx sunucusuna uzaktan erişim sağlamak için, Nginx'e uzaktan bağlı, bazı temel Nginx dosyalarına ve dizinlerine aşina oldu ve bir sunucu bloğunun nasıl kurulacağını öğrendi.

Nginx hakkında daha fazla bilgi edinmek ve öğrenmek için Nginx wiki'yi görmek isteyebilirsiniz.