Nginx, web sunucuları için ücretsiz, açık kaynaklı bir Linux uygulamasıdır. Web trafiğini belirli sunuculara yönlendirerek ters proxy sunucusu olarak çalışır.
Nginx, güvenlik ve yük dengeleme için kullanılır, ancak bağımsız olarak bir web sunucusu olarak da işlev görebilir.
Bu kılavuz, Nginx’i Ubuntu 20.04 Linux’a (Focal Fossa) kurmanıza yardımcı olacaktır.
Önkoşullar
- Ubuntu 20.04 Linux çalıştıran bir sistem
- olan bir kullanıcı hesabı sudo veya kök ayrıcalıklar
- Bir terminal penceresine / komut satırına erişim (tıklayın Etkinlikler > Ara > tip terminal)
1. Adım: Yazılım Depolarını Güncelleyin
Yeni yazılım yüklemeden önce depo listelerini yenilemek önemlidir. Bu, en son güncellemelerin ve yamaların yüklendiğinden emin olmanıza yardımcı olur.
Bir terminal penceresi açın ve aşağıdakileri girin:
sudo apt-get update
İşlemin bitmesine izin verin.
Adım 2: Nginx’i Ubuntu Depolarından Kurun
Nginx, Ubuntu 20.04 varsayılan depolarına dahildir. Aşağıdaki komutu girerek kurun:
sudo apt-get install nginx
3. Adım: Kurulumu Doğrulayın
Yazılım sürümünü kontrol ederek Nginx’in doğru kurulduğunu doğrulayın. Aşağıdakileri girin:
nginx -v
Sistem, Nginx’in yazılım sürümünü göstermelidir.
4. Adım: Nginx Hizmetini Kontrol Etme
Nginx’in davranışı ayarlanabilir. Nginx’i başlatmak veya durdurmak için ya da Nginx’i açılışta etkinleştirmek veya devre dışı bırakmak için bunu kullanın.
Nginx hizmetinin durumunu kontrol ederek başlayın:
sudo systemctl status nginx
Durum görüntülenirse active (running)
, Nginx zaten başlatıldı. Basmak CTRL
+z
durum göstergesinden çıkmak için
Nginx çalışmıyorsa, Nginx hizmetini başlatmak için aşağıdaki komutu kullanın:
sudo systemctl start nginx
Nginx’i sistem başladığında yüklenecek şekilde ayarlamak için aşağıdakini girin:
sudo systemctl enable nginx
Nginx hizmetini durdurmak için aşağıdakini girin:
sudo systemctl stop nginx
Sistem önyüklendiğinde Nginx’in yüklenmesini önlemek için:
sudo systemctl disable nginx
Nginx hizmetini yeniden yüklemek için (yapılandırma değişikliklerini uygulamak için kullanılır):
sudo systemctl reload nginx
Nginx’in zor bir şekilde yeniden başlatılması için:
sudo systemctl restart nginx
5. Adım: Nginx Trafiğine İzin Ver
Nginx’in sistemin güvenlik duvarı üzerinden erişmesi gerekiyor. Bunu yapmak için Nginx, Ubuntu varsayılanı için bir dizi profil kurar. ufw (Karmaşık Olmayan Güvenlik Duvarı).
Mevcut Nginx profillerini görüntüleyerek başlayın:
sudo ufw app list
Sistem aşağıdakileri göstermelidir:
Not: Diğer uygulamalar listelenebilir. Göz ardı edilebilirler.
Varsayılan Ubuntu güvenlik duvarı üzerinden Nginx erişimi vermek için aşağıdakini girin:
sudo ufw allow 'nginx http'
Sistem göstermelidir Rules updated
.
Aşağıdakileri girerek güvenlik duvarı ayarlarını yenileyin:
sudo ufw reload
Şifreli (https) trafik için şunu girin:
sudo ufw allow 'nginx https'
Her ikisine de izin vermek için şunu girin:
sudo ufw allow 'nginx full'
Not: Güvenlik duvarından yalnızca gerekli minimum trafiğe izin vermeniz önerilir. Bu işlem için yalnızca temel HTTP trafiği gereklidir. Diğer yapılandırmalar HTTPS (şifreli) veya başka trafik gerektirebilir. Sistem farklı bir güvenlik duvarı kullanıyorsa, Bağlantı Noktası 80 (HTTP), Bağlantı Noktası 443 (HTTPS) veya ağ tarafından gereken bağlantı noktalarında trafiğe izin verecek şekilde yapılandırılmalıdır.
Adım 6: Nginx’i Test Edin
Adım 4’teki gibi Nginx hizmetinin çalıştığından emin olun. Bir web tarayıcısı açın ve aşağıdaki web adresine gidin:
http://127.0.0.1
Sistem, Nginx karşılama sayfasını göstermelidir.
Not: Sistemin belirli bir ana bilgisayar adı veya IP adresi varsa, bunun yerine kullanılabilir.
Sistemin bir grafik arabirimi yoksa, Nginx Karşılama sayfası kullanılarak terminale yüklenebilir. kıvırmak:
sudo apt-get install curl
curl –i 127.0.0.1
Sistem, Nginx Karşılama sayfası için HTML kodunu göstermelidir.
7. Adım: Bir Sunucu Bloğu Yapılandırın (İsteğe Bağlı)
Nginx’te bir sunucu bloğu, kendi sunucusu olarak çalışan bir yapılandırmadır. Varsayılan olarak, Nginx’in önceden yapılandırılmış bir sunucu bloğu vardır.
şu adreste bulunur: /var/www/html. Ancak, farklı siteler için birden fazla sunucu bloğu ile yapılandırılabilir.
Not: Bu öğretici kullanır test_domain.com alan adı için. Bu, kendi alan adınızla değiştirilebilir.
1. Test Etki Alanı için Bir Dizin Oluşturun
Bir terminal penceresinde, aşağıdakileri girerek yeni bir dizin oluşturun:
sudo mkdir -p /var/www/test_domain.com/html
2. Sahipliği ve İzinleri Yapılandırın
Kullanmak chmod
sahiplik ve izin kurallarını yapılandırmak için:
sudo chown –R $USER:$USER /var/www/test_domain.com
sudo chmod –R 755 /var/www/test_domain.com
3. Sunucu Bloğu için bir index.html Dosyası oluşturun
Açık index.html seçtiğiniz bir metin düzenleyicide düzenlemek için (Nano metin düzenleyicisini kullanacağız):
sudo nano /var/www/test_domain.com/html/index.html
Metin düzenleyicide aşağıdaki HTML kodunu girin:
<html>
<head>
<title>Welcome to test_domain.com!</title>
</head>
<body>
<h1>This message confirms that your Nginx server block is working. Great work!</h1>
</body>
</html>
Basmak CTRL
+o
değişiklikleri yazmak için, ardından CTRL
+x
çıkışa doğru.
4. Nginx Sunucu Bloğu Yapılandırması Oluşturun
Yapılandırma dosyasını düzenlemek için açın:
sudo nano /etc/nginx/sites-available/test_domain.com
Aşağıdaki kodu girin:
server {
listen 80;
root /var/www/test_domain.com/html;
index index.html index.htm index.nginx.debian.html;
server_name test_domain.com www.test_domain.com;
location / {
try_files $uri $uri/ =404;
}
}
5. Nginx’in Başlangıçta Okuması İçin Sembolik Bağlantı Oluşturun
Aşağıdakileri girerek sunucu bloğu ile başlangıç dizini arasında sembolik bir bağlantı oluşturun:
sudo ln –s /etc/nginx/sites-available/test_domain.com /etc/nginx/sites-enabled
6. Nginx Hizmetini yeniden başlatın
Aşağıdaki komutu çalıştırarak Nginx’i yeniden başlatın:
sudo systemctl restart nginx
7. Yapılandırmayı Test Edin
sudo nginx –t
Sistem, yapılandırma dosyası sözdiziminin uygun olduğunu ve yapılandırma dosyası testinin başarılı olduğunu bildirmelidir.
8. Hosts Dosyasını Değiştirin (İsteğe Bağlı)
Kayıtlı veya herkese açık olmayan bir test etki alanı adı kullanıyorsanız, /etc/hosts görüntülemek için dosyanın değiştirilmesi gerekebilir. test_domain.com sayfa.
Aşağıdaki komutla sistemin IP adresini görüntüleyin:
hostname –i
Görüntülenen IP adresini not edin.
Sonraki, aç /etc/hosts düzenleme için:
sudo nano /etc/hosts
Localhost bilgilerinin hemen altındaki boş alana aşağıdaki satırı ekleyin:
127.0.1.1 test_domain.com www.test_domain.com
127.0.0.1’i yukarıda görüntülenen IP adresiyle değiştirin. Basmak CTRL
+o
değişiklikleri kaydetmek için, ardından CTRL
+x
çıkışa doğru.
9. Bir Web Tarayıcısında test_domain.com’u kontrol edin
Bir tarayıcı penceresi açın ve şuraya gidin: test_domain.com (veya Nginx’te yapılandırdığınız alan adı).
Bölüm 3’te girdiğiniz mesajı görmelisiniz.
Önemli Nginx Dosya Konumları
Varsayılan olarak, Nginx farklı yapılandırma ve günlük dosyalarını aşağıdaki konumlarda depolar:
- /var/www/html – Ziyaretçiler tarafından görüldüğü şekliyle web sitesi içeriği.
- /etc/nginx – Ana Nginx uygulama dosyalarının konumu.
- /etc/nginx/nginx.conf – Ana Nginx yapılandırma dosyası.
- /etc/nginx/siteler kullanılabilir – Nginx aracılığıyla yapılandırılan tüm web sitelerinin listesi.
- /etc/nginx/siteler etkin – Nginx tarafından aktif olarak hizmet verilen web sitelerinin listesi.
- /var/log/nginx/access.log – Sunucunuza gelen her isteği izleyen günlüklere erişin.
- /var/log/ngins/hata.kayıt – Nginx’te oluşturulan tüm hataların günlüğü.
Çözüm
Artık Ubuntu 20.04’te çalışan bir Nginx kurulumuna sahip olmalısınız. Bonus olarak, artık bir Nginx sunucu bloğu kurmaya giriş yapmış olmalısınız.
Nginx’i ters proxy olarak kullanmayı düşünüyorsanız, Nginx’i Ters Proxy Olarak Kurma makalemize bakın.