Ubuntu 20.04'te Nginx Sunucu Blokları (Sanal Ana Bilgisayarlar) Nasıl Kurulur


Bazen Nginx web sunucunuzda birden fazla alan adı veya web sitesi barındırmanız gerekebilir. Bunun gerçekleşmesi için alan adınızın tüm yapılandırmasını kapsayacak şekilde bir Sunucu Bloğunun (Sanal Ana Bilgisayarlar) yapılandırılması gerekir. Nginx sunucu blokları Apache sanal ana bilgisayar dosyalarıyla eş anlamlıdır ve aynı amaca hizmet eder.

Bu konu, Ubuntu 20.04'te Nginx sunucu bloğunun nasıl kurulacağını gösterir.

Önkoşullar:

  • Alan adı barındırma sağlayıcınızda tanımlanan bir A kaydı. A kaydı, alan adını Genel sunucu IP adresine yönlendiren bir DNS kaydıdır. Bu kılavuzda örnek amacıyla crazytechgeek.info alan adını kullanacağız.
  • Ubuntu 20.04 LTS örneğinde yüklü bir Nginx Sunucusu veya LEMP Yığını.
  • Sudo ayrıcalıklarına sahip bir oturum açma kullanıcısı.

Tüm gereksinimler karşılandığında, Ubuntu'da bir Nginx sunucu bloğunu nasıl kurabileceğinizi keşfedelim.

Adım 1: Nginx Belge Kök Dizini Oluşturun

Başlamak için alan adımız için, alan adı ile ilgili tüm ayarları içerecek ayrı bir dizin oluşturacağız.

sudo mkdir -p /var/www/crazytechgeek.info/html

Daha sonra $USER ortam değişkenini kullanarak dizinin sahipliğini atayın. Bu, dizinin sahipliğini şu anda oturum açmış olan kullanıcıya atar. Root olarak değil, normal bir kullanıcının hesabını kullanarak giriş yaptığınızdan emin olun.

sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html

Daha sonra, oturum açan kullanıcıya tüm hakları (okuma, yazma ve yürütme) vererek, gruba ve diğer kullanıcılara yalnızca okuma ve yürütme izinlerini vererek dizine uygun izinleri atayın.

sudo chmod -R 755 /var/www/crazytechgeek.info

Dizin izinleri ve sahipliği doğru şekilde yapılandırıldığında alan adı için örnek bir web sayfası oluşturmamız gerekir.

2. Adım: Alan Adı için Örnek Sayfa Oluşturun

Bu adımda test amaçlı bir index.html dosyası oluşturacağız. Bu dosya, alan adı tarayıcıda çağrıldığında web tarayıcısında görüntülenecek içeriği sunacaktır.

sudo vim /var/www/crazytechgeek.info/html/index.html

Aşağıdaki HTML içeriğini yapıştırın.

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
  <h1>Bravo! Your server block is working as expected!</h1>
    </body>
</html>

Yapılandırma dosyasını kaydedin ve çıkın.

Adım 3: Ubuntu'da bir Nginx Sunucu Bloğu Oluşturun

Nginx sunucu blokları /etc/nginx/sites-available dizininde bulunur. Varsayılan Nginx sunucu bloğu, /var/www/html/index.nginx-debian.htmladresindeki varsayılan HTML dosyasını sunan /etc/nginx/sites-available/default'dur. >.

Bizim durumumuz için daha önce oluşturduğumuz index.html dosyasındaki içeriği sunacak bir sunucu bloğu oluşturmamız gerekiyor.

Bu nedenle gösterilen sunucu blok dosyasını oluşturun.

sudo vim /etc/nginx/sites-available/crazytechgeek.info

İçeriği aşağıya yapıştırın:

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

        root /var/www/crazytechgeek.info/html;
        index index.html index.htm index.nginx-debian.html;

        server_name crazytechgeek.info www.crazytechgeek.info;

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

		
    access_log /var/log/nginx/crazytechgeek.info.access.log;
    error_log /var/log/nginx/crazytechgeek.info.error.log;

}

Dosyayı kaydedip çıkın.

Adım 4: Ubuntu'da Nginx Sunucu Bloğu'nu etkinleştirin

Nginx sunucu bloğunu etkinleştirmek için, onu gösterildiği gibi /etc/nginx/sites-enabled/ dizinine sembolik olarak bağlamanız gerekir.

sudo ln -s /etc/nginx/sites-available/crazytechgeek.info /etc/nginx/sites-enabled/

Bu noktada büyük ölçüde işimiz bitti. Ancak tüm yapılandırmaların düzgün olduğunu doğrulamak akıllıca olacaktır. Bunu yapmak için şu komutu yürütün:

sudo nginx -t

Adımlarımızı doğru bir şekilde izlediyseniz aşağıdaki çıktıyı almalısınız:

Son olarak, yapılandırma dosyalarında yapılan değişikliklerin etkili olması için Nginx'i yeniden başlatın.

sudo systemctl restart Nginx

Ardından gösterilen komutu çalıştırarak Nginx'in çalışıp çalışmadığını doğrulayın:

sudo systemctl status Nginx

Adım 5: Ubuntu'da Nginx Sunucu Bloğunun Test Edilmesi

Sunucu bloğunun beklendiği gibi çalışıp çalışmadığını ve /var/www/crazytechgeek.info dizininde içerik sunup sunmadığını doğrulamak için web tarayıcınızı açın ve sunucunuzun alan adına göz atın:

http://domain-name

HTML dosyasında bulunan içeriği gösterildiği gibi sunucu bloğunuzda almalısınız.

Çözüm

Bu kılavuzda size Ubuntu Linux'ta tek alan adı kullanarak Nginx sunucu bloğunun nasıl kurulacağını gösterdik. Aynı adımları farklı alanlar için tekrarlayabilir ve yine de aynı sonuçları elde edebilirsiniz. Rehberin anlayışlı olduğunu umuyoruz.