Debian 9.3’te Nginx Nasıl Kurulur?

Giriş

Nginx, Apache2’nin alternatifi olan popüler bir HTTP sunucusudur. Bir reverse proxy, posta sunucusu veya web sunucusu olarak kullanılabilir. Ocak 2018 W3Techs‘in web siteleri için pazar payı ve kullanım istatistikleri göre; Nginx, tüm web sitelerinin % 36,7’si tarafından kullanılmaktadır ve 2007’den beri artan bir eğilime sahiptir.

Bu kılavuzda, Nginx’i Debian 9.3 sunucumuza kuracağız.

Ön şartlar

Bu belge için ihtiyacınız olan şeyler:

  • Debian 9.3 İşletim Sistemi veya
  • Ubuntu 16.10 İşletim Sistemi

Önce sunucunun yazılımının güncel olduğunu kontrol edelim. Aşağıdaki komutları çalıştırmak için root yetkili kullanıcısı olmanız gerekmektedir. Eğer mevcut normal kullanıcınız ile çalıştıracaksanız aşağıdaki komutların başına sudo komutunu eklemeyi unutmayınız.

apt-get update

Yeni güncel paketlerimizi yükleyelim.

apt-get upgrade

Adım 1 – Nginx Yükle

Nginx, yukarıda bahsettiğim gibi bir HTTP sunucusudur ve düşük bellek kullanımı ile büyük yüklerin işlenmesine odaklanmıştır. Nginx’in diğer web sunucu yazılımlarından farklı ağır yük altında diğer sunuculara göre daha fazla kullanıcıya hizmet verebilmesidir.

Yüklemek için aşağıdaki komutu çalıştırın:

apt-get install nginx

Adım 2 – Web Sunucunuzu Test Edin

Bu adımda, Nginx sunucunuza erişilebildiğini test edeceğiz.

Bir web tarayıcısında http://sunucu_ip_adresi‘ni yazarak sayfanın çalıştığını kontrol edelim. Burada siz sunucu_ip_adresi yazan yeri kendi sunucunuzun IP adresiyle değiştiriniz. Varsayılan Nginx sayfasını görmeli ve bu sunucunun hazır ve çalışır halde olduğunu teyit etmelisiniz. Aşağıdakine benzer bir sayfa açıldıysa kurulum başarıyla gerçekleşmiş demektir.

Eğer web tarayıcısında yukarıdakine benzer bir görüntünüz yoksa, hemen paniğe kapılmayın! Sunucu üzerinde komut satırından da sunucunuzu test edebilirsiniz. Aşağıdaki komutu giriniz:

curl sunucu_ip_adresi

Aşağıdaki gibi bir HTML çıktısını görmelisiniz.

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx on Debian!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx on Debian!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working on Debian. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href=”http://nginx.org/”>nginx.org</a></p>

<p>
Please use the <tt>reportbug</tt> tool to report bugs in the
nginx package with Debian. However, check <a
href=”http://bugs.debian.org/cgi-bin/pkgreport.cgi?ordering=normal;archive=0;src=nginx;repeatmerged=0″>existing
bug reports</a> before reporting a new bug.
</p>

<p><em>Thank you for using debian and nginx.</em></p>

</body>
</html>

Eğer yukarıdakine benzer bir kodu da göremezseniz. Aşağıdaki gibi bir hata mesajı almanız gerekiyor. Nginx’i yeniden kurmayı deneyiniz.

curl: (52) Empty reply from server

Adım 3 – Nginx İşlemlerini Yönetme

Artık web sunucunuzu çalıştırdınız ve bazı temel yönetim komutlarını kullanabiliriz.

Web sunucunuzu durdurmak için şunu yazın:

systemctl stop nginx

Web sunucusu durdurulduğunda başlatmak için şunu yazın:

systemctl start nginx

Hizmeti durdurup tekrar başlatmak için şunu yazın:

systemctl restart nginx

Yapılandırma değişiklikleri yapıyorsanız, Nginx genellikle bağlantıları kesmeden yeniden yükleyebilir. Bunu yapmak için, aşağıdaki komut kullanılabilir:

systemctl reload nginx

Debian sunucumuz yeniden başlatıldığında web sunucumuzun otomatik olarak yeniden başlatılmasını sağlayabiliriz:

systemctl enable nginx

Bu yapılandırmanın çalıştığını test etmek için sunucunuzu yeniden başlatın.

shutdown -r now

Bir iki dakika sonra, Web sunucunuzun yeniden başlatıldığında başlamasını test etmek için Adım 2’yi tekrarlayabilirsiniz.

Sunucu Kökü ve Yapılandırma

Kendi sayfalarınızı veya uygulamanızı Nginx aracılığıyla sunmaya başlamak istiyorsanız, Nginx yapılandırma dosyalarının ve varsayılan sunucu kök dizininin yerlerini bilmek isteyeceksinizdir.

Varsayılan Sunucu Kök Dizini

Varsayılan sunucu kök dizini /var/www/html‘dir. Bu dizinde yer alan dosyalar web sunucunuzda sunulacaktır. Bu konum, /etc/nginx/sites-enabled/default‘da bulunan Nginx ile birlikte gelen varsayılan sunucu blok yapılandırma dosyasında belirtilmiştir.

Sunucu Bloğu Yapılandırması

Herhangi bir ek sunucu bloğu, Apache’de Sanal Sunucular olarak bilinmektedir, /etc/nginx/sites-available dizinde yeni yapılandırma dosyaları oluşturarak eklenebilir. Bu yapılandırmaları etkinleştirmek için aşağıdaki komutu kullanarak /etc/nginx/sites-enabled dizinine sembolik bir bağlantı oluşturun:

ln -s /etc/nginx/sites-available/site /etc/nginx/sites-enabled/site

sites-enabled dizinindeki tüm konfigürasyon dosyaları Nginx tarafından yüklenecek.

Nginx Global Yapılandırması

Ana Nginx yapılandırma dosyası /etc/nginx/nginx.conf dosyasında bulunur. Burası, Nginx işlevini çalıştıran kullanıcı işlemleri ve diğer şeyler arasında Nginx çalışırken oluşturulan çalışan işlemlerin sayısı gibi ayarları değiştirebileceğiniz yerdir.