Ubuntu 18.04 Üzerinde “Nginx” Kurulumu ve Yapılandırılması

Ubuntu 18.04 Üzerinde “Nginx” Kurulumu ve Yapılandırılması

Hepinize merhabalar. 🙂 Bu makalemde adım adım şu konulardan bahsedeceğim:

  1. Nginx Kurulumu,
  2. Güvenlik Duvarı Yapılandırması,
  3. Web Sunucusunu Kontrol Etme,
  4. Nginx Hizmetini Yönetme,
  5. Sunucu Bloklarını Ayarlama

Nginx Server, dünyanın en çok kullanılan web sunucularından biridir. Ve internette en yoğun trafik alan web sitelerinden bazılarını kendi içerisinde barındırmaktadır. Diğer bir web sunucusu olan Apache‘den kaynak kullanımı konusunda daha verimlidir. Nginx ve Apache arasındaki hakkında daha detaylı bilgiye bu bağlantıdan ulaşabilirsiniz.. Son olarak Nginx Server ters proxy olarak da kullanılabilmektedir.

1) Nginx Kurulumu

Bu makalemin devamında Nginx kurulumunu , Ubuntu 18.04 üzerinden yapılandıracağım.

  • İlk olarak paketlerimizi güncelliyoruz.
  • sudo apt update

1,

 

  • Diğer bir adım olarak nginx’i şu şekilde yüklüyoruz.
  • sudo apt install nginx

2,

 

2) Güvenlik Duvarı Yapılandırması

  • Sunucumuzu sistemimize çok basit bir şekilde kurulumunu yaptık. Şimdi port kontrolü yapmamız gerekiyor. Bunun için şu parametreyi kullanacağız,
  • sudo ufw app list
  • Ve çıktı olarak görseldeki gibi bir listeye erişmemiz gerekiyor.

3,

 

  • Bu adımda HTTP bağlantı noktası trafiğine izin verelim ve etkinleştirelim.
  • sudo ufw allow ‘Nginx HTTP’

4,

 

  • Yaptığımız değişikliği şu şekilde kontrol edelim.
  • sudo ufw status

10,

 

3) Web Sunucusunu Kontrol Etme

  • “Nginx” hizmetinin çalıştığını kontrol etmek için şu parametreyi yazıyoruz.
  • systemctl status nginx
  • Ve çalıştığını görseldeki gibi active(running) çıktısıyla görebilirsiniz.

düzenli,

 

  • Nginx’in IP üzerinden çalıştığını doğrulamak için varsayılan Nginx sayfasına erişelim,
  • http://your_server_ip
  • Ve çalıştığını görseldeki açılış sayfasından anlıyoruz.

7,

 

4) Nginx Hizmetini Yönetme

Bu kısımda Nginx hizmetinin yömetiminde kullanılan bazı parametrelerden bahsedeceğim.

  • Nginx hizmetini durdurmak için şu parametre kullanılmaktadır.
  • sudo systemctl stop nginx

278,

 

  • Hizmeti başlatmak için şu parametre kullanılmaktadır.
  • sudo systemctl start nginx

279,

 

  • Hizmeti yeniden başlatmak(restart) için şu parametre kullanılmaktadır.
  • sudo systemctl restart nginx

280,

 

  • Nginx üzerinden yaptığınız bazı yapılandırma değişiklikleri sonrasında şu parametre kullanılmaktadır.
  • sudo systemctl reload nginx

281,

 

  • Varsayılan olarak Nginx hizmeti önyüklemede başlayacaktır. Eğer Nginx hizmetinin önyüklemeden sonra başlamasını devre dışı bırakmak istiyorsanız:
  • sudo systemctl disable nginx

282,

 

  • Ve tekrardan etkileştirmek isterseniz:
  • sudo systemctl enable nginx

281,

 

5) Sunucu Bloklarını Ayarlama

Nginx web sunucusunu kullanırken, sunucu blokları (Apache’deki sanal ana bilgisayarlara benzer), yapılandırma ayrıntılarını değiştirmek ve tek bir sunucudan birden fazla etki alanını barındırmak için kullanılabilir. kadirexample.com adında bir alan oluşturacağız. Ancak kendi alan adınız varsa bunu kendi alan adınızla değiştirebilirsiniz.

Ubuntu 18.04 üzerindeki Nginx, varsayılan olarak etkinleştirilmiş bir sunucu bloğuna sahiptir ve adresindeki bir dizinden gelen belgeleri sunmak için yapılandırılmıştır. Bu tek bir site için çalışmaktadır. Eğer birden fazla siteyi burada barındırmak isterseniz işleriniz zorlaşabilir. Bunu değiştirmek yerine kadirexample.com sitemiz için /var/www/html bir dizin yapıısı oluşturacağım.

  • İlk olarak gerekli olan ana dizinimizi oluşturmak için şu şekilde kadirexample.com oluşturalım:
  • sudo mkdir -p /var/www/kadirexample.com/html

283,

 

  • Ardından bu dizinin sahipliğini $USER değişkeniyle atayalım.
  • sudo chown -R $USER:$USER /var/www/kadirexample.com/html

286,

 

Umask: Linux işletim sistemlerinde her dosyanın ve dizinin, sistem tarafından atanmış default yetki seviyesidir.

  • Umask değerinizi değiştiğinden şunu yazarak emin olabilirsiniz:
  • sudo chmod -R 755 /var/www/kadirexample.com

288,

 

  • Bu kısımda index.html kullanarak bir örnek sayfa oluşturalım.
  • nano /var/www/kadirexample.com/html/index.html

291,

 

  • index.html ile açtığımız düzenleyicimizin içerisine şu HTML kodlarını ekleyelim.
  • <html>
                   <head>
                                    <title>Welcome to kadirexample.com!</title>
                   </head>
                   <body>
                            <h1>Success! The kadirexample.com server block is working!</h1>
                   </body>
    </html>
  • Daha sonra dosyayı kaydedip çıkabilirsiniz.

292,

 

  • Nginx’in bu içeriği doğru sunabilmesi için doğru şekilde sunucu bloğu oluşturmalıyız. Ben burada varsayılan bloğu doğrudan değiştirmek yerine  aşağıdaki gibi yenisini yapacağım:
  • sudo nano /etc/nginx/sites-available/kadirexample.com

293,

 

  • Ve açılan yapılandırma bloğuna şunları yapıştırın:

server {
             listen 80;
             listen [::]:80;

             root /var/www/kadirexample.com/html;

             index index.html index.htm index.nginx-debian.html;

             server_name kadirexample.com www.kadirexample.com;

             location / {
                          try_files $uri $uri/ =404;
             }
}

294,

 

  • Ardından Nginx’in başlatma sırasında okuduğu dizine bir bağlantı oluşturalım ve etkinleştirellim.
  • sudo ln -s /etc/nginx/sites-available/kadirexample.com /etc/nginx/sites-enabled/

295,

Burada yaptıklarımız kısaca şunlardır:

  • kadirexample.com: kadirexample.com ve www.kadirexample.com’a gelen isteklere yanıt verecektir.
  • default: 80 portu üzerinden diğer iki blokla eşleşmeyen tüm isteklere yanıt vermektedir.

 

  • Ek sunucu adlarının eklenmesi sonucundan kaynaklanabilecek olası bir hash sorununu önlemek için nginx.conf dosyasında tek bir değerin ayarlanması gerekmektedir.  Dosyayı açalım:
  • sudo nano /etc/nginx/nginx.conf

296,

 

  • Açılan yönergede kutu içerisindeki açılamanın başındaki # sembolü kaldırıyoruz.

297,

 

  • Daha sonra Nginx dosyamzda söz dizimi hatasının olmadığından emin olmak için:
  • sudo nginx -t
  • Ve sonuç olarak aşağıdaki gibi bir çıktı almalıyız.

298,

Buraya kadar Nginx Server yapılandırması hakkında konulardan bahsettik. Son olarak yaptığınız değişiklikleri etkinleştirmek için yukarıda bahsettiğim parametre ile Nginx’i restart ediyoruz.

Buraya kadar okuduğunuz için teşekkürler. 🙂

 

 

 

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir