CentOS/RHEL 8'de Nginx Sunucu Bloklarını (Sanal Ana Bilgisayarlar) Ayarlama


Nginx sunucu bloğu, Apache sanal ana makinesinin eşdeğeridir ve sunucunuzda birden fazla alan adını veya web sitesini barındırmanıza olanak tanır.

Bu makalede, CentOS 8 ve RHEL 8 Linux'ta Nginx sunucu bloklarının (sanal ana bilgisayarlar) nasıl kurulacağını öğreneceksiniz.

Önkoşullar:

  • Alanınız için bir A kaydı. Basit bir ifadeyle, bir A kaydı, alan adının sunucunun Genel IP'sine, bu durumda Nginx web sunucusuna işaret ettiği bir DNS girişini ifade eder. Bu kılavuz boyunca crazytechgeek.info alan adını kullanacağız.
  • CentOS 8 veya RHEL 8 örneğine yüklenmiş bir Nginx Sunucusu veya LEMP Yığını.
  • Sudo ayrıcalıklarına sahip bir oturum açma kullanıcısı.

Başlayalım!

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

Barındırmak istediğiniz alan adı için özel bir web kök dizini oluşturmanız gerekir. Bizim durumumuz için, gerekli tüm üst dizinleri oluşturmak için mkdir -p seçeneğini kullanarak gösterildiği gibi dizini oluşturacağız:

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

Daha sonra $USER ortam değişkenini kullanarak dizin izinlerini atayın. Bunu yaparken kök kullanıcı olarak değil, normal kullanıcı olarak oturum açtığınızdan emin olun.

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

Daha sonra, doğru dizin izinlerini gösterildiği gibi yinelemeli olarak atayın:

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

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

Daha sonra, özel web kök dizini içinde, istek yapıldığında etki alanı tarafından sunulacak bir index.html dosyası oluşturacağız.

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

Dosyanın içine aşağıdaki örnek içeriği yapıştırın.

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
  <h1>Awesome! Your Nginx server block is working!</h1>
    </body>
</html>

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

Adım 3: CentOS'ta bir Nginx Sunucu Bloğu Oluşturun

Nginx web sunucusunun 2. adımda oluşturduğumuz index.html dosyasındaki içeriği sunabilmesi için uygun direktiflerle sunucu blok dosyası oluşturmamız gerekiyor. Bu nedenle şu adreste yeni bir sunucu bloğu oluşturacağız:

sudo vim /etc/nginx/conf.d/crazytechgeek.info.conf

Daha sonra aşağıda görünen konfigürasyonu 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;

}

İşiniz bittiğinde değişiklikleri kaydedin ve yapılandırma dosyasından çıkın. Tüm Nginx yapılandırmalarının sağlam ve hatasız olduğunu doğrulamak için şu komutu yürütün:

sudo nginx -t

Aşağıdaki çıktı, hazır olduğunuza dair bir onay olmalıdır!

Son olarak Nginx web sunucunuzu yeniden başlatın ve beklendiği gibi çalıştığını doğrulayın:

sudo systemctl restart nginx
sudo systemctl status nginx

Adım 4: CentOS'ta Nginx Sunucu Bloğunun Test Edilmesi

Hepimiz konfigürasyonları tamamladık. Geriye kalan tek kısım, sunucu bloğumuzun daha önce index.html dosyasında tanımlanan web kök dizininde içerik sunup sunmadığını doğrulamaktır.

Bunu yapmak için tarayıcınızı açın ve gösterildiği gibi sunucunuzun etki alanına gidin:

http://domain-name

Görüldüğü gibi içeriğimiz sunucu bloğu tarafından sunuluyor, bu da her şeyin yolunda gittiğinin açık bir göstergesi.

Adım 5: Nginx'te Barındırılan Etki Alanında HTTPS'yi etkinleştirin

Bir koruma katmanı eklemek ve web sunucusuna giden ve web sunucusundan gelen trafiği güvenli hale getirmek için alan adınızı Lets Encrypt SSL kullanarak şifrelemeyi düşünebilirsiniz.

sudo dnf install certbot python3-certbot-nginx
sudo certbot --nginx

Alan adınızın HTTPS'de doğru şekilde yapılandırıldığını doğrulamak için tarayıcınızda https://yourwebsite.com/ adresini ziyaret edin ve URL çubuğunda kilit simgesini arayın.

Çözüm

CentOS 8 ve RHEL 8'de başarıyla bir Nginx sunucu bloğu oluşturduk. Aynı prosedürü kullanarak aynı işlemi birden fazla alan adı için tekrarlayabilirsiniz.