O zamandan beri, yük dengeleme, anonimleştirme ve ölçeklendirme özelliklerini içerecek şekilde büyüdü. Ayrıca, statik kaynak isteklerini Apache’den daha hızlı işleyebilen özelliklere sahiptir ve performans ile kaynak kullanımını stratejik olarak iyileştirmek için istekleri dengelemenize olanak tanır.
Bu rehber size yol gösterecek Nginx’i Ubuntu 18.04’te kurmak ve kurmak (Biyonik Kunduz).
Önkoşullar
Ubuntu’da Nginx Kurma Adımları
Yazılım Depolarını Güncelle
Kök kullanıcı olarak SSH aracılığıyla Sunucunuza giriş yapın
ssh root@hostname
Yeni yazılım yüklemeden önce, yerel yazılım veritabanınızı güncellemeniz önemle tavsiye edilir. Güncelleme, mevcut en son ve en iyi yamalı yazılımı yüklediğinizden emin olmanıza yardımcı olur.
Aşağıdakileri girin:
sudo apt update
İşlemin bitmesine izin verin.
Nginx’i Ubuntu’ya kurun
Aşağıdakileri girin Nginx’i Ubuntu’ya yüklemek için:
sudo apt install nginx
Bu, sistemin yazılım paketlerini indirip kurması için biraz zaman alabilir. Devam etmeden önce tamamlanmasına izin verin.
Nginx Hizmetinin Çalıştığını Doğrulayın
Nginx hizmetinin durumunu kontrol etmek için aşağıdaki komutu kullanın:
sudo systemctl status nginx
Sistem, Nginx hizmeti hakkında bir bilgi listesi döndürmelidir. Etkin satır, hizmetin çalışıp çalışmadığını gösterir. Hizmeti başlatmanız gerekirse, aşağıdakileri kullanın:
sudo systemctl start nginx
Başlangıç yerine aşağıdaki komutları da kullanabilirsiniz:
sudo systemctl stop nginx
– Nginx hizmetini durdurursudo systemctl enable nginx
– Nginx’in başlangıçta yüklenmesini sağlarsudo systemctl disable nginx
– Nginx’in başlangıçta yüklenmesini engeller
Bir Güvenlik Duvarı Üzerinden Nginx Trafiğine İzin Ver
Aşağıdaki komutu kullanarak güvenlik duvarı kurallarının bir listesini oluşturabilirsiniz:
sudo ufw app list
Bu, uygulama profillerinin bir listesini oluşturmalıdır. Listede Nginx ile ilgili dört giriş görmelisiniz:
Nginx full
– normal web trafiği için Port 80’i ve güvenli şifreli web trafiği için Port 443’ü açarNginx HTTP
– Normal web trafiği için Port 80’i açarNginx HTTPS
– Şifreli web trafiği için Port 443’ü açarOpenSSH
– Bu, güvenli, şifreli bir bağlantı üzerinden uzak bir sunucuda oturum açmanıza izin veren SecureShell işlemleri için bir yapılandırmadır.
Nginx sunucunuza normal HTTP trafiğine izin vermek için aşağıdaki komutla Nginx HTTP profilini kullanın:
sudo ufw allow ‘Nginx HTTP’
Güvenlik duvarınızın durumunu kontrol etmek için aşağıdaki komutu kullanın:
sudo ufw status
Farklı hizmetlere izin verilen HTTP web trafiği türlerinin bir listesini göstermelidir. Nginx HTTP, ALLOW ve Anywhere olarak listelenmelidir.
Not: Port 80’deki tüm trafiğe izin vermek için bir kural da oluşturabilirsiniz. Ancak bu, sisteminizi güvenlik açıklarına açabilir. Daha iyi bir uygulama, yalnızca ihtiyacınız olan trafiğe izin verecek bir kural oluşturmaktır.
Nginx’i Web Tarayıcısında Test Edin
Firefox gibi bir web tarayıcısı açın.
Adres çubuğuna sisteminizin IP adresini girin veya yazın yerel ana bilgisayar.
Tarayıcınız sizi Nginx’e davet eden bir sayfa göstermelidir.
Not: Sisteminizin IP adresini terminal penceresinden şu komutla kontrol edebilirsiniz: ip a
Sunucu Bloklarını Tanımla
Nginx, nasıl davranacağını belirlemek için bir yapılandırma dosyası kullanır. Yapılandırma dosyasını kullanmanın bir yolu, bir Apache Sanal Konağına benzer şekilde çalışan sunucu bloklarını tanımlamaktır.
Nginx, sunucu blokları oluşturarak yapılan birden çok sunucu için bir paravan görevi görecek şekilde tasarlanmıştır.
Varsayılan olarak, ana Nginx yapılandırma dosyası /etc/nginx/nginx.conf konumunda bulunur. Sunucu bloğu yapılandırma dosyaları şu adreste bulunur: /etc/nginx/siteler kullanılabilir.
Varsayılan sunucu bloğu yapılandırma dosyasının içeriğini görüntülemek için bir terminalde aşağıdaki komutu girin:
sudo vi /etc/nginx/sites-available/default
Bu, aşağıdaki gibi görünmesi gereken Vi metin düzenleyicisinde varsayılan yapılandırma dosyasını açmalıdır:
# Default server configuration
#
server {
listen 80 default_server;
listen [::]:80 default_server;
[...]
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
[...]
}
- bu komutları dinle Nginx’e trafik için hangi bağlantı noktalarına bakacağını söyle
- varsayılan_sunucu müşteri tarafından aksi belirtilmedikçe bunu teslim edilecek blok olarak tanımlar
- Kök hizmet verilen web sitesi için kök dizinin hangi dizinde tutulduğunu belirler
- Sunucu adı daha gelişmiş yapılandırmalarda kullanılan belirli bir sunucu bloğu için bir ad belirtmenize olanak tanır
- Konum Nginx’in trafiği yönlendirmesi gereken konumu yönlendirmenizi sağlar
Örnek Sunucu Bloğu Oluşturma
Bir HTML Dosyası Ayarlayın
Örnek bir konfigürasyondan geçmek faydalıdır. Bir terminal penceresinde, çalışmak üzere bir “test” dizini oluşturmak için aşağıdaki komutu girin:
sudo mkdir /var/www/example
Test web sayfası olarak çalışmak için temel bir HTML dizin dosyası oluşturun ve açın:
sudo vi /var/www/example/index.html
Vi metin düzenleyicide (isterseniz tercih ettiğiniz metin düzenleyiciyle değiştirebilirsiniz), aşağıdakini girin:
Welcome to the Example Website!
Dosyayı kaydet ve çık.
Basit Bir Sunucu Bloğu Kurun
Test web sitemiz için yeni bir sunucu blok dosyası oluşturmak için aşağıdaki komutu kullanın:
sudo vi /etc/nginx/sites-available/example.com
Bu, Vi metin düzenleyicisini başlatmalı ve yeni bir sunucu blok dosyası oluşturmalıdır.
Metin dosyasına aşağıdaki satırları girin:
server {
listen 80;
root /var/www/example;
index index.html;
server_name www.example.com;
}
Bu, Nginx’e şuna bakmasını söyler: /var/www/örnek dizini, dosyaların sunulacağı dizini ve web sitesi için ön sayfa olarak oluşturduğumuz index.html dosyasını kullanın.
Dosyayı kaydet ve çık.
Sunucu Bloğunu Etkinleştirmek için Sembolik Bir Bağlantı Oluşturun
Terminal penceresinde aşağıdaki komutu girin:
sudo ln –s /s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled
Bu, bir bağlantı oluşturur ve test web sitenizi Nginx’te etkinleştirir. Değişiklikleri uygulamak için Nginx hizmetini yeniden başlatın:
sudo systemctl restart nginx
Teste Başla
Bir tarayıcı penceresinde http://www.example.com adresini ziyaret edin.
Nginx, isteği durdurmalı ve HTML dosyasına girdiğimiz metni göstermelidir.
Çözüm
Bu kılavuzda, nasıl yapılacağını öğrendiniz Ubuntu 18.04’te Nginx’i yapılandırın, kurun ve kurun.
Nginx, sunucuları ve web trafiğini yönetmek için güçlü bir araçtır. Yük dengeleme veya ters proxy olarak çalışma gibi görevler için yapılandırılmıştır.