nginx

Ubuntu 16.04 altında Nginx web sunucusunu nasıl kurabiliriz

Bu derste Ubuntu 16.04 altında Nginx web sunucusu kurulumunu anlatıyoruz

Giriş

Nginx dünya çapında kullanılan en beğenilen sunucu yazılımlarından bir tanesidir. Kaynakların verimli kullanılması noktasında Apache'den daha başarılı olduğunu söyleyebiliriz. Ayrıca vekil sunucu olarak da kullanılabilir.

Nginx kurulumu

Nginx Ubuntu yazılım depolarında yer alıyor. Bu nedenle kurulumu oldukça basit.

Kurulumdan önce paket depolarını güncelleyebiliriz. Daha sonra Nginx kurulumuna geçebiliriz.

$ sudo apt-get update
$ sudo apt-get install nginx

Güvenlik duvarı ayarları

Kurulumdan sonra güvenlik duvarı programımızda gerekli ayarları yaparak Nginx'e erişim izni vermeliyiz. Nginx kurulumdan sonra kullandığımız güvenlik duvarı olan ufw'ye kendini bir hizmet olarak kaydediyor. Bu da gerekli erişim ayarlarını yapmayı kolaylaştırıyor.

ufw'nin nasıl çalışabileceğini bildiği uygulamaları şu şekilde gösterebiliriz.

$ sudo ufw app list

Bu komutu çalıştırdığınızda hali hazırdaki uygulama düzenini görebilirsiniz.

Kullanılabilir uygulamalar:
  CUPS
  Nginx Full
  Nginx HTTP
  Nginx HTTPS

Görebileceğiniz üzere Nginx'i üç şekilde kullanabiliyoruz :

  • Nginx Full : Bu seçenek hem 80 (normal şifrelenmemiş internet trafiği) hem de 443 (TTL/SSL ile şifrelenmiş trafik) numaralı bağlantı noktalarını açar.
  • Nginx HTTP : Bu seçenek sadece 80 numaralı bağlantı noktasını (normal şifrelenmemiş trafik) açar.
  • Nginx HTTPS : Bu seçenek sadece 443 numaralı kapıyı (TTL/SSL ile şifrelenmiş trafik) açar.

Bu derste henüz sunucu için SSL ayarlarını yapmadığımız için sadece 80 numaralı köprü üzerindeki trafiğe izin vermemiz yeterli olacaktır.

Bunu şu şekilde yapabilirsiniz :

$ sudo ufw allow 'Nginx HTTP'

Yaptığımız değişikliklerin etkin hale geldiğini şu komutla görebilirsiniz :

$ sudo ufw status

Çıktıdan da görülebileceği üzere internet trafiğine izin vermiş olduk.

Durum: etkin

Alıcı                      Eylem       Gönderen
-----                      -----       --------
Nginx HTTP                 ALLOW       Anywhere                  
5000                       ALLOW       Anywhere                  
Nginx HTTP (v6)            ALLOW       Anywhere (v6)             
5000 (v6)                  ALLOW       Anywhere (v6)

Sunucuyu kontrol edin

Kurulum işlemi tamamlandıktan sonra Ubuntu 16.04 Nginx sunucusunu başlatıyor. Sunucu şu anda hazır ve çalışıyor durumda olmalı.

systemd komutunu kullanarak hizmetin etkin olduğunu teyit edebiliriz :

$ systemctl status nginx

● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: en
   Active: active (running) since Cts 2018-02-17 17:56:38 +03; 4h 0min ago
  Process: 1031 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code
  Process: 1010 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process 
 Main PID: 1036 (nginx)
   CGroup: /system.slice/nginx.service
           ├─1036 nginx: master process /usr/sbin/nginx -g daemon on; master_pro
           ├─1037 nginx: worker process                           
           ├─1038 nginx: worker process                           
           ├─1039 nginx: worker process                           
           └─1040 nginx: worker process

Sizin de yukarıda görebileceğiniz üzere hizmet başarılı bir şekilde başlatılmış gözüküyor. Ancak bunu test etmenin en iyi yolu Nginx'den bize bir sayfa getirmesini istemek olacaktır.

Varsayılan Nginx açılış sayfasına erişerek yazılımın doğru çalıştığını teyit edebiliriz. Bu adrese sunucunun alan adı veya IP numarasını kullanarak erişebiliriz.

Eğer sunucunuzun alan adı yoksa ve IP numarasını bilmiyorsanız komut satırından bir kaç yöntemle öğrenilebilir.

Sunucu bilgisayarda komut istemini açarak şu komutu girin :

$ ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

Eğer ethernet kartınız farklı şekilde isimlendiriliyorsa şunu deneyebilirsiniz.

$ ip addr show enp1s0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

Bu elde ettiğiniz adres sunucunuzun yerel IP adresidir. Bu adresi bir tarayıcı ile açarak çalışıp çalışmadığını test edebilirsiniz.

Eğer kullandığınız sunucunun internet üzerinden görülen harici IP adresini öğrenmek isterseniz aşağıdaki yöntemi kullanabilirsiniz.

$ sudo apt-get install curl
$ curl -4 icanhazip.com

Sunucunuzun IP adresini ya da alan adını öğrendikten sonra bunu bir tarayıcının adres çubuğuna yazın :

http://sunucunun_alan_adı_yada_IP_adresi

Artık aşağıdaki resimde olduğu gibi Nginx'in varsayılan açılış sayfasını görüyor olmalısınız.

Nginx açılış sayfası

Bu sayfayı görebiliyor olmanız basitçe sunucunun başarılı bir şekilde çalıştığını gösteriyor.

Nginx hizmetini yönetin

Artık sunucumuz kuruldu ve çalışıyor şimdi sunucu yönetimiyle ilgili bir kaç komuta bakabiliriz.

Sunucuyu durdurmak için şu komutu verebilirsiniz :

$ sudo systemctl stop nginx

Sunucu durmuşken tekrar çalıştırmak için şu komutu giriniz :

$ sudo systemctl start nginx

Hizmeti durdurup tekrar başlatmak için şu komutu giriniz:

$ sudo systemctl restart nginx

Eğer yapılandırma ayarlarında değişiklikler yaptıysanız Nginx bağlantıları kopartmadan tekrar yüklenebilir. Bunu yapmak için şu komutu kullanabilirsiniz.

$ sudo systemctl reload nginx

Varsayılan olarak sunucu her başlatıldığında otomatik olarak Nginx de başlatılacaktır. Eğer bunu istemiyorsanız şu komutu vererek bunu engelleyebilirsiniz :

$ sudo systemctl disable nginx

Tekrar başlangıçta açılsın isterseniz şu komutu verebilirsiniz :

$ sudo systemctl enable nginx

Önemli Nginx kütük ve dizinlerine aşinalık kazanalım

Artık sunucuyu nasıl idare edebileceğinizi kabaca öğrendiniz. Şimdi önemli kütük ve dizinlere aşinalık kazanalım.

İçerik

  • /var/www/html : Sitenin içeriği bu dizinde bulunuyor ve içinde şimdilik sadece daha önce gördüğümüz Nginx açılış sayfası bulunuyor. Bu dizin Nginx yapılandırma dosyaları ile değiştirilebilir.

Sunucu yapılandırması

  • /etc/nginx : Nginx yapılandırma dizini. Tüm Nginx ayar ve yapılandırma dosyaları bu dizinde bulunuyor.
  • /etc/nginx/nginx.conf : Temel Nginx yapılandırma dosyası. Bu kütükte yapılan değişiklikler Nginx'in genel çalışmasında etkili olacaktır.

Sunucu kayıtları

  • /var/log/nginx/access.log : Aksini belirtmediğiniz sürece sunucuya yapılan her istek buraya kaydedilir.
  • /var/log/nginx/error.log : Tüm hata kayıtları bu kütükte saklanır.

Çorbalar

Yorumlar

yorum yaz

Yorum yaz

Henüz yorum yok.