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, birA
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 boyuncacrazytechgeek.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.