Nginx Sunucu Blokları (Sanal Hostlar) Ubuntu 14.04 LTS Üzerine Nasıl Kurulur?
Modern web barındırma dünyasında, tek bir sunucu üzerinde birden fazla web sitesini yönetmek standart bir uygulamadır. Bu yetenek, sunucu kaynaklarının daha verimli kullanılmasını sağlar ve maliyetleri düşürür. Nginx, yüksek performanslı ve hafif bir web sunucusu olarak bu görevi “Sunucu Blokları” (Server Blocks) adı verilen yapılandırmalar aracılığıyla yerine getirir. Diğer web sunucularında “Sanal Hostlar” (Virtual Hosts) olarak bilinen bu kavram, Nginx’in temel özelliklerinden biridir. Bu makalede, Ubuntu 14.04 LTS işletim sistemi üzerinde Nginx sunucu bloklarının nasıl kurulacağını ve yapılandırılacağını adım adım, kapsamlı bir şekilde inceleyeceğiz.
Ubuntu 14.04 LTS, her ne kadar uzun süreli destek (Long Term Support) sürümü olsa da, artık resmi destek süresi sona ermiştir. Ancak, belirli kurumsal ortamlar veya eski sistemler hala bu sürümü kullanıyor olabilir. Bu nedenle, makaledeki adımlar özellikle Ubuntu 14.04 LTS’e uygun olarak, dönemin paket yönetimini ve servis komutlarını dikkate alarak hazırlanmıştır.
Ön Hazırlıklar ve Temel Bilgiler
Nginx sunucu bloklarını kurmaya başlamadan önce bazı temel gereksinimleri ve kavramları anlamak önemlidir.
Ubuntu 14.04 LTS ve Nginx Kurulumu
Bu makaledeki adımları uygulayabilmek için öncelikle Ubuntu 14.04 LTS sunucunuzda Nginx’in kurulu ve çalışır durumda olması gerekmektedir. Eğer Nginx kurulu değilse, aşağıdaki komutları kullanarak kolayca kurabilirsiniz:
sudo apt-get update
sudo apt-get install nginx
sudo service nginx start
Kurulumdan sonra, sunucunuzun IP adresini bir web tarayıcısına yazarak Nginx’in varsayılan “Welcome to Nginx!” sayfasını görmeniz gerekir. Bu, Nginx’in doğru bir şekilde çalıştığını gösterir.
DNS Kayıtları ve Alan Adları
Sunucu bloklarının düzgün çalışabilmesi için, barındırmak istediğiniz her alan adının (örneğin, alanadi1.com, alanadi2.com) sunucunuzun genel IP adresine işaret etmesi gerekir. Bu, alan adı kayıt şirketinizin veya DNS sağlayıcınızın kontrol panelinden “A kaydı” oluşturarak yapılır. Örneğin, alanadi1.com ve www.alanadi1.com için sunucunuzun IP adresine işaret eden A kayıtları oluşturmalısınız. DNS değişikliklerinin internete yayılması (propagation) biraz zaman alabilir (birkaç dakika ila 24 saat).
Nginx Yapılandırma Dosyalarının Dizayn Felsefesi
Nginx, yapılandırmalarını modüler bir şekilde yönetir. Ana yapılandırma dosyası /etc/nginx/nginx.conf‘tur. Bu dosya genellikle genel Nginx ayarlarını (worker süreçleri, log ayarları, gzip sıkıştırma vb.) içerir ve diğer yapılandırma dosyalarını dahil etmek için include direktifini kullanır.
Sunucu blokları için ana dizinler şunlardır:
* /etc/nginx/sites-available/: Bu dizin, oluşturduğunuz her sunucu bloğu için ayrı yapılandırma dosyalarını içerir. Bu dosyalar, etkinleştirilene kadar pasif kalır.
* /etc/nginx/sites-enabled/: Bu dizin, etkinleştirilmiş sunucu bloklarına işaret eden sembolik bağlantıları (symbolic links) içerir. Nginx, başlatıldığında veya yeniden yüklendiğinde bu dizindeki bağlantıları okuyarak hangi sitelerin aktif olduğunu anlar.
* /etc/nginx/snippets/: Bu dizin, birden fazla sunucu bloğunda tekrar kullanabileceğiniz küçük yapılandırma parçacıklarını (örneğin, PHP-FPM ayarları veya SSL sertifika yolları) saklamak için kullanılır.
Bu yapılandırma felsefesi, yönetimi kolaylaştırır ve farklı siteler arasında temiz bir ayrım sağlar.
İlk Sunucu Bloğunun Oluşturulması (Varsayılan Yapılandırma)
Nginx’i kurduğunuzda, genellikle /etc/nginx/sites-available/default adında varsayılan bir sunucu bloğu dosyasıyla gelir. Bu dosya, herhangi bir özel sunucu bloğu tanımlanmadığında veya gelen isteğin server_name‘i tanımlı hiçbir bloğa uymadığında devreye girer.
Varsayılan Nginx Yapılandırması
Varsayılan yapılandırma dosyası genellikle şu şekildedir:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.html index.htm;
# Make site accessible from http://localhost/
server_name localhost;
location / {
try_files $uri $uri/ =404;
}
}
Bu yapılandırma, 80 numaralı porttan gelen tüm isteklere yanıt verir ve /usr/share/nginx/html dizinindeki index.html dosyasını sunar. default_server anahtar kelimesi, bu bloğun herhangi bir özel server_name eşleşmesi olmadığında varsayılan olarak kullanılacağını belirtir.
Server Bloklarının Temel Yapısı
Her Nginx sunucu bloğu, bir server bloğu içinde tanımlanır. Bu blok, Nginx’e belirli bir alan adı veya IP adresi için gelen isteklere nasıl yanıt vereceğini söyler. Temel direktifler şunlardır:
* listen: Nginx’in hangi port ve IP adresinden gelen bağlantıları dinlemesi gerektiğini belirtir. Genellikle HTTP için 80, HTTPS için 443 kullanılır. default_server anahtar kelimesi ile varsayılan sunucu bloğu belirlenebilir.
* server_name: Bu sunucu bloğunun hangi alan adlarına yanıt vereceğini belirtir. Birden fazla alan adı boşluklarla ayrılabilir (örneğin, alanadi1.com www.alanadi1.com).
* root: Web sitesinin dosyalarının bulunduğu kök dizini belirtir. Nginx, bu dizin altında dosya arar.
* index: Bir dizine erişildiğinde Nginx’in hangi dosyaları otomatik olarak arayacağını belirtir (örneğin, index.html, index.php).
* location: Belirli URL yollarına (URI’lara) nasıl yanıt verileceğini tanımlar. Bu bloklar, belirli dosyaları sunmak, proxy geçişi yapmak veya belirli kuralları uygulamak için kullanılır.
Yeni Bir Sunucu Bloğu Oluşturma ve Yapılandırma
Şimdi alanadi1.com adında yeni bir web sitesi için bir sunucu bloğu oluşturalım.
Alan Adları İçin Dizin Yapısı Oluşturma
Her web sitesi için ayrı bir belge kökü (document root) oluşturmak iyi bir uygulamadır. Bu, siteler arasındaki karışıklığı önler ve güvenliği artırır. Genellikle /var/www/ dizini altında her site için ayrı bir dizin oluşturulur.
sudo mkdir -p /var/www/alanadi1.com/html
Bu komut, alanadi1.com için bir kök dizin ve içinde bir html dizini oluşturur. html dizini, web sitesinin tüm dosyalarını içerecektir.
Nginx’in web dosyalarını okuyabilmesi ve gerektiğinde yazabilmesi için doğru dosya izinlerini ayarlamak önemlidir. Nginx, genellikle www-data kullanıcısı ve grubu altında çalışır.
sudo chown -R www-data:www-data /var/www/alanadi1.com/html
sudo chmod -R 755 /var/www/alanadi1.com
Şimdi, test etmek için basit bir index.html dosyası oluşturalım:
echo "" | sudo tee /var/www/alanadi1.com/html/index.html
Sunucu Bloğu Yapılandırma Dosyasını Oluşturma
Yeni sunucu bloğu yapılandırma dosyamızı /etc/nginx/sites-available/ dizininde oluşturacağız. Dosya adı genellikle alan adıyla aynı olur (örneğin, alanadi1.com).
sudo nano /etc/nginx/sites-available/alanadi1.com
Aşağıdaki içeriği dosyaya yapıştırın ve kaydedin (Ctrl+X, Y, Enter):
server {
listen 80;
listen [::]:80; # IPv6 desteği için
root /var/www/alanadi1.com/html;
index index.html index.htm index.nginx-debian.html; # Nginx'in arayacağı varsayılan dosyalar
server_name alanadi1.com www.alanadi1.com; # Bu bloğun yanıt vereceği alan adları
location / {
try_files $uri $uri/ =404; # Dosya bulunamazsa 404 döndür
}
# Hata sayfaları (isteğe bağlı, ancak iyi bir uygulamadır)
error_page 404 /404.html;
location = /404.html {
internal;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
internal;
}
access_log /var/log/nginx/alanadi1.com_access.log;
error_log /var/log/nginx/alanadi1.com_error.log;
}
Bu yapılandırma şunları yapar:
* Hem IPv4 hem de IPv6 üzerinden 80 numaralı portu dinler.
* Web sitesi dosyalarının /var/www/alanadi1.com/html dizininde olduğunu belirtir.
* alanadi1.com ve www.alanadi1.com alan adları için gelen isteklere yanıt verir.
* location / bloğu, Nginx’e gelen isteklere nasıl yanıt vereceğini söyler. try_files direktifi, önce istenen dosyayı ($uri), sonra dizini ($uri/) arar ve hiçbiri bulunamazsa 404 hatası döndürür.
* Özel erişim ve hata günlükleri için yollar belirtir.
Sunucu Bloğunu Etkinleştirme
Yeni yapılandırma dosyasını etkinleştirmek için, /etc/nginx/sites-available/ dizinindeki dosyaya /etc/nginx/sites-enabled/ dizininde bir sembolik bağlantı oluşturmamız gerekir:
sudo ln -s /etc/nginx/sites-available/alanadi1.com /etc/nginx/sites-enabled/
Bu adım, Nginx’e bu yeni yapılandırmayı kullanmasını söyler.
Nginx Yapılandırmasını Test Etme
Herhangi bir Nginx değişikliğinden sonra, yapılandırma dosyasında sözdizimi hataları olup olmadığını kontrol etmek kritik öneme sahiptir. Bu, Nginx’in yeniden başlatılırken hata vermesini ve çevrimdışı kalmasını önler.
sudo nginx -t
Eğer her şey yolundaysa, şöyle bir çıktı görmelisiniz:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Herhangi bir hata varsa, hatanın belirtildiği satırı kontrol edip düzeltmeniz gerekir.
Nginx’i Yeniden Başlatma
Yapılandırma testi başarılı olduktan sonra, Nginx’i yeniden başlatarak yeni sunucu bloğunu etkinleştirin:
sudo service nginx restart
Artık web tarayıcınızda http://alanadi1.com adresini ziyaret ettiğinizde, az önce oluşturduğunuz “Merhaba Alan Adı 1!” mesajını görmelisiniz.
Birden Fazla Sunucu Bloğu ve Gelişmiş Yapılandırmalar
Tek bir sunucu bloğu oluşturmayı öğrendiğinize göre, şimdi birden fazla siteyi barındırma ve bazı gelişmiş yapılandırma seçeneklerini keşfetme zamanı.
İkinci Bir Sunucu Bloğu Oluşturma
alanadi2.com adında ikinci bir web sitesi için sunucu bloğu oluşturmak, yukarıdaki adımların tekrarından ibarettir:
1. Dizin Oluşturma ve İzinleri Ayarlama:
sudo mkdir -p /var/www/alanadi2.com/html
sudo chown -R www-data:www-data /var/www/alanadi2.com/html
sudo chmod -R 755 /var/www/alanadi2.com
echo "" | sudo tee /var/www/alanadi2.com/html/index.html
2. Yapılandırma Dosyası Oluşturma:
sudo nano /etc/nginx/sites-available/alanadi2.com
İçerik (alan adı ve root dizinini değiştirerek):
server {
listen 80;
listen [::]:80;
root /var/www/alanadi2.com/html;
index index.html index.htm;
server_name alanadi2.com www.alanadi2.com;
location / {
try_files $uri $uri/ =404;
}
access_log /var/log/nginx/alanadi2.com_access.log;
error_log /var/log/nginx/alanadi2.com_error.log;
}
3. Sembolik Bağlantı Oluşturma:
sudo ln -s /etc/nginx/sites-available/alanadi2.com /etc/nginx/sites-enabled/
4. Nginx’i Test Etme ve Yeniden Başlatma:
sudo nginx -t
sudo service nginx restart
Artık http://alanadi2.com adresini ziyaret ettiğinizde ikinci web sitenizi görmelisiniz.
PHP Uygulamaları İçin Yapılandırma (FastCGI)
Çoğu modern web uygulaması (WordPress, Drupal, Laravel vb.) PHP kullanır. Nginx, PHP kodunu doğrudan işleyemez; bunun yerine PHP-FPM (FastCGI Process Manager) gibi bir FastCGI işlemcisine yetki verir. Ubuntu 14.04 LTS’te genellikle php5-fpm paketi kullanılır.
Öncelikle php5-fpm‘i kurmanız gerekebilir:
sudo apt-get install php5-fpm
sudo service php5-fpm start
Ardından, PHP uygulamalarını barındıracak sunucu bloğunuza (örneğin, alanadi1.com) PHP işleme yeteneğini eklemek için location ~ \.php$ bloğunu eklemelisiniz. /etc/nginx/sites-available/alanadi1.com dosyasını düzenleyin:
sudo nano /etc/nginx/sites-available/alanadi1.com
server bloğunun içine, location / bloğundan sonra aşağıdaki kısmı ekleyin:
# ... mevcut location / bloğundan sonra
location ~ \.php$ {
include snippets/fastcgi-php.conf; # Eğer varsa, yoksa aşağıdaki satırları kullanın
# fastcgi_pass unix:/var/run/php5-fpm.sock; # Ubuntu 14.04 için varsayılan soket
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# include fastcgi_params;
# Eğer snippets/fastcgi-php.conf yoksa, aşağıdaki satırları kullanın:
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock; # veya 127.0.0.1:9000
fastcgi_index index.php;
include fastcgi_params;
}
Nginx’in /etc/nginx/snippets/ dizininde fastcgi-php.conf adında bir dosya genellikle gelir ve bu yapılandırmayı içerir. Eğer yoksa veya FastCGI ayarlarını özelleştirmek isterseniz, yorum satırındaki direktifleri doğrudan kullanabilirsiniz. unix:/var/run/php5-fpm.sock yolu, PHP-FPM’in dinlediği varsayılan Unix soketidir.
Değişiklikleri kaydedin, Nginx yapılandırmasını test edin ve yeniden başlatın.
sudo nginx -t
sudo service nginx restart
Şimdi alanadi1.com/info.php gibi bir dosyaya içeriğini ekleyerek PHP’nin doğru çalıştığını test edebilirsiniz.
Varsayılan Sunucu Bloğu ve Catch-all
Nginx, gelen bir isteği hangi server bloğuna yönlendireceğine karar verirken server_name direktifini kullanır. Eğer gelen isteğin Host başlığı, tanımlı hiçbir server_name ile eşleşmezse, Nginx aşağıdaki öncelik sırasına göre bir server bloğu seçer:
1. listen direktifinde default_server anahtar kelimesiyle işaretlenmiş bir blok.
2. /etc/nginx/sites-enabled/ dizinindeki ilk server bloğu (alfabetik sıraya göre).
Bu nedenle, bilinmeyen veya istenmeyen alan adlarına yönelik istekleri yakalamak için özel bir “catch-all” veya “default_server” bloğuna sahip olmak iyi bir uygulamadır. Bu, yanlış yapılandırılmış DNS kayıtları veya kötü niyetli istekler nedeniyle sitelerinizin içeriğinin beklenmedik bir şekilde görünmesini engeller.
Varsayılan default dosyasını düzenleyerek veya yeni bir tane oluşturarak bunu yapabilirsiniz:
sudo nano /etc/nginx/sites-available/default
İçeriği aşağıdaki gibi değiştirerek boş bir 444 (Nginx özel kodu, bağlantıyı kapatır) yanıtı döndürebilirsiniz:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name _; # Herhangi bir alan adını eşleştirir
return 444; # Bağlantıyı kapatır
}
Veya belirli bir hata sayfası gösterebilirsiniz:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name _;
root /var/www/default_site/html; # Varsayılan hata sayfası için bir dizin
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Bu durumda, /var/www/default_site/html dizinini oluşturup içine bir index.html dosyası koymanız gerekir.
Yönlendirmeler (Redirections)
Nginx, URL yönlendirmeleri yapmak için oldukça etkilidir. En yaygın kullanımlardan bazıları, www önekli alan adını www öneki olmayana veya HTTP’den HTTPS’ye yönlendirmektir.
WWW’den Non-WWW’ye Yönlendirme:
www.alanadi1.com adresinden alanadi1.com adresine yönlendirmek için, alanadi1.com sunucu bloğunun içine veya ayrı bir bloğa aşağıdaki gibi bir yapılandırma ekleyebilirsiniz:
server {
listen 80;
listen [::]:80;
server_name www.alanadi1.com;
return 301 http://alanadi1.com$request_uri;
}
server {
listen 80;
listen [::]:80;
server_name alanadi1.com;
# ... ana site yapılandırması ...
}
Bu, www.alanadi1.com adresine gelen tüm istekleri kalıcı olarak alanadi1.com adresine yönlendirecektir. $request_uri değişkeni, orijinal isteğin tam URI’sini korur.
HTTP’den HTTPS’ye Yönlendirme:
SSL/TLS sertifikası kurduktan sonra (bu makalenin kapsamı dışında olsa da), HTTP üzerinden gelen tüm istekleri HTTPS’ye yönlendirmek istersiniz.
server {
listen 80;
listen [::]:80;
server_name alanadi1.com www.alanadi1.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name alanadi1.com www.alanadi1.com;
# ... HTTPS yapılandırması ...
}
Hata Sayfaları (Custom Error Pages)
Nginx’in varsayılan hata sayfaları oldukça sade ve bilgilendirici değildir. Kendi özel hata sayfalarınızı oluşturarak kullanıcı deneyimini iyileştirebilirsiniz. Yukarıdaki örneklerde error_page direktifini zaten kullanmıştık.
Örneğin, 404 hataları için /404.html dosyasını, 5xx hataları için /50x.html dosyasını kullanmak için:
server {
# ...
error_page 404 /404.html;
location = /404.html {
root /var/www/alanadi1.com/html; # Hata sayfasının bulunduğu dizin
internal; # Bu URL'ye doğrudan erişimi engeller
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/alanadi1.com/html;
internal;
}
# ...
}
Bu yapılandırma ile, Nginx belirtilen hata kodları için root dizininde 404.html veya 50x.html dosyalarını arayacaktır. internal direktifi, bu sayfalara doğrudan bir tarayıcıdan erişilmesini engeller, sadece Nginx’in kendisi tarafından çağrılabilir.
Güvenlik ve Performans İpuçları
Nginx sunucu bloklarınızı kurarken ve yönetirken, güvenlik ve performansı artıracak bazı iyi uygulamaları göz önünde bulundurmalısınız.
Dizin İzinleri
Web sitesi dosyalarınızın dizin izinlerini her zaman doğru ayarlayın. Nginx’in www-data kullanıcısı ve grubu altında çalıştığını unutmayın. Dosyalar için 644, dizinler için 755 izinleri genellikle güvenli ve yeterlidir. Sadece Nginx’in yazması gereken dizinlere (örneğin, yükleme dizinleri) daha geniş izinler vermelisiniz, ancak bu durumda bile dikkatli olun.
Güvenlik Başlıkları
HTTP güvenlik başlıklarını (X-Frame-Options, X-Content-Type-Options, X-XSS-Protection, Referrer-Policy, Strict-Transport-Security) ekleyerek web sitenizin güvenliğini artırabilirsiniz. Bu başlıklar genellikle nginx.conf veya /etc/nginx/snippets/ altındaki bir dosyaya eklenir ve sunucu bloklarında include edilir.
Örnek:
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
add_header X-XSS-Protection "1; mode=block";
Gzip Sıkıştırma
Gzip sıkıştırmayı etkinleştirerek web sitenizin yüklenme sürelerini önemli ölçüde azaltabilirsiniz. Bu genellikle /etc/nginx/nginx.conf dosyasında veya bir snippet dosyasında yapılır:
gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
Tarayıcı Önbellekleme (Browser Caching)
Statik dosyalar (CSS, JS, resimler) için tarayıcı önbelleklemesini yapılandırmak, tekrarlayan ziyaretçiler için performansı artırır. Bu, expires direktifi ile yapılır:
location ~* \.(jpg|jpeg|gif|png|css|js|ico|woff|woff2|ttf|svg)$ {
expires 365d;
add_header Cache-Control "public, no-transform";
}
Bu, belirtilen dosya türleri için tarayıcılara 365 gün boyunca önbellekte tutmaları talimatını verir.
Log Kayıtları
Her sunucu bloğu için ayrı erişim ve hata günlükleri tutmak, sorun giderme ve trafik analizi için çok faydalıdır. Yukarıdaki örneklerde bunu zaten yapılandırmıştık. Günlüklerin boyutunu düzenli olarak kontrol etmeyi ve logrotate ile yönetmeyi unutmayın.
Sorun Giderme ve Yaygın Hatalar
Nginx yapılandırmalarında karşılaşabileceğiniz bazı yaygın sorunlar ve çözümleri:
nginx -t Hataları
En yaygın sorun, yapılandırma dosyasındaki sözdizimi hatalarıdır. nginx -t komutu, hatanın tam konumunu ve açıklamasını verir. Hata mesajını dikkatlice okuyun ve belirtilen satırı kontrol edin.
DNS Problemleri
Alan adınızın sunucunuzun IP adresine doğru şekilde işaret etmediği durumlarda, tarayıcınız “Siteye ulaşılamıyor” veya benzeri bir hata verecektir. dig alanadi1.com veya ping alanadi1.com komutlarıyla DNS kayıtlarınızı kontrol edin.
Dizin İzinleri
Eğer Nginx, web sitenizin dosyalarına erişemiyorsa, 403 Forbidden hatası alırsınız. Bu genellikle yanlış dosya veya dizin izinlerinden kaynaklanır. chown ve chmod komutlarıyla izinleri kontrol edin ve düzeltin.
Nginx Servisi Çalışmıyor
sudo service nginx status komutuyla Nginx servisinin durumunu kontrol edin. Eğer çalışmıyorsa, sudo service nginx start komutuyla başlatmayı deneyin. Hata günlüklerini (/var/log/nginx/error.log) kontrol ederek başlatma sorunlarının nedenini bulabilirsiniz.
Varsayılan Sayfa Görünüyor
Yeni sunucu bloğunuzu ziyaret ettiğinizde hala “Welcome to Nginx!” varsayılan sayfasını görüyorsanız:
* server_name direktifinizin doğru alan adlarını içerdiğinden emin olun.
* /etc/nginx/sites-enabled/ dizininde yeni sunucu bloğunuz için bir sembolik bağlantı olup olmadığını kontrol edin.
* Nginx’i yeniden başlattığınızdan emin olun (sudo service nginx restart).
* Tarayıcınızın önbelleğini temizlemeyi deneyin.
Cache Sorunları
Yaptığınız değişikliklerin tarayıcınızda görünmemesi durumunda, tarayıcınızın önbelleğini temizlemeyi deneyin (Ctrl+F5 veya Shift+F5). Ayrıca, Nginx veya başka bir proxy sunucu seviyesinde önbellekleme yapılıyorsa, bu önbellekleri de temizlemeniz gerekebilir.
Sonuç
Bu makalede, Ubuntu 14.04 LTS üzerinde Nginx sunucu bloklarının (sanal hostlar) nasıl kurulacağını ve yapılandırılacağını ayrıntılı bir şekilde ele aldık. Tek bir sunucuda birden fazla web sitesi barındırma yeteneği, Nginx’in esnekliği ve gücünün temel bir göstergesidir. Alan adları için dizin yapısı oluşturmaktan, sunucu bloğu yapılandırma dosyalarını yazmaya, PHP desteği eklemeye ve yönlendirmeler yapmaya kadar tüm adımları öğrendiniz.
Nginx’in modüler yapılandırma felsefesi, sitelerinizi düzenli tutmanızı ve yönetmenizi kolaylaştırır. Güvenlik başlıkları, gzip sıkıştırma ve tarayıcı önbellekleme gibi performans ve güvenlik ipuçlarını uygulayarak web sitelerinizin hem daha hızlı hem de daha güvenli olmasını sağlayabilirsiniz.
Unutmayın ki web sunucusu yönetimi sürekli öğrenme ve pratik gerektiren bir alandır. Bu bilgilerle donanmış olarak, Nginx ile web barındırma deneyiminizi bir üst seviyeye taşıyabilirsiniz. Daha fazla keşfetmek isterseniz, HTTPS (SSL/TLS) yapılandırması, ileri düzey önbellekleme, yük dengeleme ve Nginx’in diğer güçlü özelliklerini araştırmanızı şiddetle tavsiye ederiz. Sunucunuzu düzenli olarak güncel tutmak ve güvenlik yamalarını uygulamak da her zaman önemlidir.