Ubuntu 16.04 Üzerinde Nginx ve Cloudflare Kullanarak Web Sitesi Barındırma Rehberi
Giriş
Günümüz dijital dünyasında, bir web sitesine sahip olmak, bireyler ve işletmeler için vazgeçilmez bir gereklilik haline gelmiştir. Web sitenizin hızlı, güvenli ve her zaman erişilebilir olması, kullanıcı deneyimi ve arama motoru sıralamaları açısından kritik öneme sahiptir. Bu teknik rehberde, popüler ve güçlü açık kaynaklı web sunucusu Nginx’i ve global bir içerik dağıtım ağı (CDN) ve güvenlik platformu olan Cloudflare’ı kullanarak bir web sitesini Ubuntu 16.04 işletim sistemi üzerinde nasıl barındıracağınızı adım adım anlatacağız.
Ubuntu 16.04, uzun süre desteklenen (LTS) bir sürüm olup, birçok sunucu ortamında hala kullanılmaktadır. Nginx, düşük kaynak tüketimi ve yüksek performansıyla bilinirken, Cloudflare web sitenize DDoS koruması, CDN hizmeti, SSL/TLS şifrelemesi ve performans optimizasyonları gibi bir dizi avantaj sağlar. Bu kombinasyon, web sitenizin hem hızlı hem de güvenli olmasını garanti altına alacaktır. Bu rehberin sonunda, kendi web sitenizi bu güçlü araçlarla nasıl kuracağınızı ve yöneteceğinizi öğrenmiş olacaksınız.
Ön Gereksinimler
Bu rehbere başlamadan önce aşağıdaki maddelerin hazır olduğundan emin olmanız gerekmektedir:
* Ubuntu 16.04 Kurulu Bir Sunucu: Bir Sanal Özel Sunucu (VPS) veya fiziksel bir sunucu olabilir. Sunucuya SSH erişiminizin olması gerekmektedir.
* Root veya Sudo Yetkilerine Sahip Bir Kullanıcı: Sunucuda komutları çalıştırmak için yönetici yetkilerine sahip bir kullanıcıya ihtiyacınız olacak.
* Bir Alan Adı (Domain Name): Web sitenizin internet üzerindeki adresi (örneğin, ornekalanadi.com). Bu alan adını bir alan adı kayıt kuruluşundan (domain registrar) satın almış olmalısınız.
* Cloudflare Hesabı: Ücretsiz bir Cloudflare hesabı oluşturmuş olmanız gerekmektedir.
* Temel Linux Komut Bilgisi: SSH üzerinden sunucuya bağlanma ve temel dosya sistemi komutlarını kullanma konusunda bilgi sahibi olmanız faydalı olacaktır.
Adım 1: Sunucu Hazırlığı ve Nginx Kurulumu
İlk adım olarak, Ubuntu 16.04 sunucumuzu güncelleyeceğiz ve Nginx web sunucusunu kuracağız.
Sistem Güncellemeleri
Sunucunuza SSH ile bağlandıktan sonra, paket listelerini güncelleyin ve yüklü paketleri en son sürümlerine yükseltin:
sudo apt update
sudo apt upgrade -y
Bu komutlar, sisteminizin güvenli ve güncel olmasını sağlar.
Nginx Kurulumu
Nginx’i Ubuntu’nun varsayılan depolarından kolayca kurabiliriz:
sudo apt install nginx -y
Kurulum tamamlandıktan sonra, Nginx servisinin otomatik olarak başlaması gerekir. Nginx’in çalıştığından emin olmak için servis durumunu kontrol edebilirsiniz:
systemctl status nginx
Çıktıda active (running) ibaresini görmelisiniz. Eğer çalışmıyorsa, aşağıdaki komutla başlatabilirsiniz:
sudo systemctl start nginx
Ve sistem yeniden başlatıldığında otomatik başlaması için etkinleştirin:
sudo systemctl enable nginx
Güvenlik Duvarı (UFW) Ayarları
Ubuntu’da varsayılan olarak UFW (Uncomplicated Firewall) güvenlik duvarı bulunur. Nginx’in dışarıdan erişilebilir olması için HTTP (80) ve HTTPS (443) portlarına izin vermemiz gerekmektedir.
Öncelikle, UFW’nin durumunu kontrol edin:
sudo ufw status
Eğer UFW etkin değilse, aşağıdaki komutlarla Nginx profillerini etkinleştirin ve güvenlik duvarını açın:
sudo ufw allow 'Nginx HTTP'
sudo ufw allow 'Nginx HTTPS'
sudo ufw allow 'OpenSSH' # SSH erişiminizin kesilmemesi için
sudo ufw enable
Onay için y tuşuna basın. Ardından, UFW durumunu tekrar kontrol ederek kuralların uygulandığından emin olun:
sudo ufw status
Şimdi sunucunuzun IP adresini web tarayıcınızda açtığınızda, Nginx’in varsayılan “Welcome to Nginx!” sayfasını görmelisiniz. Bu, Nginx’in başarıyla kurulduğunu ve çalıştığını gösterir.
Adım 2: Web Sitesi İçin Nginx Yapılandırması
Nginx, her bir web sitesi için ayrı yapılandırma dosyaları (server blocks veya virtual hosts olarak da bilinir) kullanarak birden fazla web sitesini aynı sunucu üzerinde barındırmanıza olanak tanır.
Web Sitesi Dizinini Oluşturma
Web sitenizin dosyalarını barındıracağınız bir dizin oluşturmanız gerekmektedir. Bu dizini genellikle /var/www/ altında oluştururuz. Alan adınızı ornekalanadi.com olarak varsayarak aşağıdaki komutu kullanın:
sudo mkdir -p /var/www/ornekalanadi.com/html
Bu komut, ornekalanadi.com için bir dizin ve onun altında html dizinini oluşturur. html dizini, web sitenizin ana dosyalarını içerecektir.
Dizin sahibini ve izinlerini ayarlayın:
sudo chown -R $USER:$USER /var/www/ornekalanadi.com/html
sudo chmod -R 755 /var/www/ornekalanadi.com
Bu komutlar, mevcut kullanıcınızın bu dizinde dosya oluşturabilmesini sağlar ve Nginx’in bu dosyalara erişebilmesi için gerekli izinleri verir.
Örnek Bir Index.html Dosyası Oluşturma
Web sitenizin çalıştığını test etmek için basit bir index.html dosyası oluşturalım:
nano /var/www/ornekalanadi.com/html/index.html
İçeriğine aşağıdaki HTML kodunu yapıştırın:
Hoş Geldiniz!
Bu sayfa, ornekalanadi.com için başarıyla yapılandırılmıştır.
Ubuntu 16.04, Nginx ve Cloudflare ile sorunsuz bir deneyim.
Dosyayı kaydedin ve kapatın (Ctrl+X, Y, Enter).
Nginx Sunucu Bloğu Oluşturma
Şimdi web siteniz için özel bir Nginx yapılandırma dosyası oluşturacağız. Nginx yapılandırma dosyaları /etc/nginx/sites-available/ dizininde bulunur.
sudo nano /etc/nginx/sites-available/ornekalanadi.com
Dosyanın içine aşağıdaki yapılandırmayı yapıştırın. ornekalanadi.com yerine kendi alan adınızı kullanmayı unutmayın.
server {
listen 80;
listen [::]:80;
root /var/www/ornekalanadi.com/html;
index index.html index.htm index.nginx-debian.html;
server_name ornekalanadi.com www.ornekalanadi.com;
location / {
try_files $uri $uri/ =404;
}
# Log dosyaları
access_log /var/log/nginx/ornekalanadi.com_access.log;
error_log /var/log/nginx/ornekalanadi.com_error.log;
}
Yapılandırma Açıklaması:
* listen 80;: Nginx’in 80 numaralı HTTP portunu dinlemesini sağlar.
* root /var/www/ornekalanadi.com/html;: Web sitenizin dosyalarının bulunduğu kök dizini belirtir.
* index index.html ...;: Bir dizin istendiğinde Nginx’in hangi dosyaları arayacağını belirtir.
* server_name ornekalanadi.com www.ornekalanadi.com;: Bu sunucu bloğunun hangi alan adları için geçerli olduğunu belirtir.
* location / { ... };: Gelen isteklerin nasıl işleneceğini tanımlar. try_files yönergesi, istenen dosyanın veya dizinin var olup olmadığını kontrol eder. Yoksa 404 hatası döndürür.
* access_log ve error_log: Bu siteye ait erişim ve hata kayıtlarının tutulacağı dosyaları belirtir.
Dosyayı kaydedin ve kapatın.
Sunucu Bloğunu Etkinleştirme
Yeni oluşturduğunuz sunucu bloğunu etkinleştirmek için, /etc/nginx/sites-enabled/ dizinine bir sembolik bağlantı (symlink) oluşturmanız gerekir:
sudo ln -s /etc/nginx/sites-available/ornekalanadi.com /etc/nginx/sites-enabled/
Nginx’in varsayılan yapılandırmasıyla çakışmaması için varsayılan sunucu bloğunu devre dışı bırakmak iyi bir uygulamadır:
sudo rm /etc/nginx/sites-enabled/default
Nginx Yapılandırmasını Test Etme ve Yeniden Başlatma
Yapılandırma dosyasında herhangi bir hata olup olmadığını kontrol etmek için Nginx’in test komutunu çalıştırın:
sudo nginx -t
Eğer çıktı syntax is ok ve test is successful içeriyorsa, yapılandırmanız doğru demektir. Şimdi Nginx’i yeniden başlatarak yeni yapılandırmayı uygulayın:
sudo systemctl restart nginx
Bu aşamada, alan adınızın DNS kayıtları henüz Cloudflare’a yönlendirilmediği için sitenize alan adınız üzerinden erişemeyeceksiniz. Ancak, sunucunuzun IP adresini kullanarak sitenizin çalışıp çalışmadığını test edebilirsiniz (bazı durumlarda Nginx server_name direktifi nedeniyle bu test çalışmayabilir, endişelenmeyin).
Adım 3: Cloudflare Kurulumu ve Yapılandırması
Şimdi web sitenizi Cloudflare’a ekleme ve DNS ayarlarını yapma zamanı.
Cloudflare Hesabına Alan Adı Ekleme
1. Cloudflare hesabınıza giriş yapın.
2. “Add a Site” (Bir Site Ekle) düğmesine tıklayın.
3. Alan adınızı (örneğin, ornekalanadi.com) girin ve “Add Site” düğmesine tıklayın.
4. Cloudflare size farklı planlar sunacaktır. “Free” (Ücretsiz) planı seçin ve “Continue” (Devam) düğmesine tıklayın.
DNS Kayıtlarını Cloudflare’a Aktarma
Cloudflare, alan adınızın mevcut DNS kayıtlarını otomatik olarak tarayacak ve gösterecektir. Bu kayıtları inceleyin ve sunucunuzun IP adresini işaret eden bir A kaydının (ornekalanadi.com ve www.ornekalanadi.com için) doğru olduğundan emin olun.
* Type (Tip): A
* Name (Ad): @ (alan adınızın kökü için) ve www (www alt alan adı için)
* IPv4 address (IPv4 adresi): Sunucunuzun genel IP adresi
* Proxy status (Proxy durumu): Bu ayar çok önemlidir. Proxied (turuncu bulut simgesi) olarak ayarlı olduğundan emin olun. Bu, trafiğin Cloudflare üzerinden geçeceği anlamına gelir.
Eğer Cloudflare otomatik olarak doğru kayıtları bulamazsa veya bir değişiklik yapmanız gerekirse, “Add record” (Kayıt ekle) düğmesini kullanarak manuel olarak ekleyebilirsiniz. Tüm kayıtları kontrol ettikten sonra “Continue” düğmesine tıklayın.
Nameserver’ları Cloudflare’a Yönlendirme
Bu adım, alan adınızın kontrolünü Cloudflare’a devretmek için kritik öneme sahiptir. Cloudflare size iki adet nameserver adresi verecektir (örneğin, alanadi.ns.cloudflare.com ve alanadi2.ns.cloudflare.com).
1. Alan adınızı satın aldığınız kayıt kuruluşunun (domain registrar) web sitesine gidin.
2. Alan adınızın DNS yönetimi veya nameserver ayarları bölümünü bulun.
3. Mevcut nameserver’ları Cloudflare’ın size verdiği nameserver’larla değiştirin.
4. Değişiklikleri kaydedin.
Bu değişikliklerin internet genelinde yayılması (DNS yayılımı) birkaç saat, hatta 48 saate kadar sürebilir. Cloudflare kontrol panelinde “Done, check nameservers” (Bitti, nameserver’ları kontrol et) düğmesine tıklayın. Cloudflare, nameserver’larınızın güncellenip güncellenmediğini periyodik olarak kontrol edecektir. “Status” (Durum) bölümünde Active (Aktif) yazısını gördüğünüzde, alan adınız Cloudflare tarafından yönetiliyor demektir.
Cloudflare SSL/TLS Şifreleme Modları
Cloudflare, web sitenize ücretsiz SSL/TLS sertifikası sağlar. Bu, sitenizin HTTPS üzerinden güvenli bir şekilde sunulmasını sağlar. Cloudflare’da birkaç SSL/TLS modu bulunur:
* Off (Not recommended): SSL kapalıdır.
* Flexible: Cloudflare ile tarayıcı arasında HTTPS, ancak Cloudflare ile sunucunuz arasında HTTP (şifresiz). Önerilmez, çünkü sunucu ile Cloudflare arasındaki trafik şifresiz kalır.
* Full: Cloudflare ile tarayıcı arasında HTTPS ve Cloudflare ile sunucunuz arasında HTTPS. Ancak sunucunuzdaki SSL sertifikasının geçerli olmasına gerek yoktur (self-signed olabilir).
* Full (strict): Cloudflare ile tarayıcı arasında HTTPS ve Cloudflare ile sunucunuz arasında HTTPS. Sunucunuzdaki SSL sertifikasının geçerli ve güvenilir bir kaynaktan (Let’s Encrypt gibi) alınmış olması gerekir. En güvenli seçenektir ve önerilir.
Şimdilik Cloudflare’da SSL modunu Full olarak ayarlayabilirsiniz. Adım 4’te sunucunuza Let’s Encrypt sertifikası kurduktan sonra Full (strict) moduna geçeceğiz.
Ayarlar:
1. Cloudflare kontrol panelinizde, alan adınızı seçin.
2. Sol menüden “SSL/TLS” sekmesine tıklayın.
3. “Overview” (Genel Bakış) altında, SSL/TLS şifreleme modunu Full olarak seçin.
4. Aynı sekme altında, “Edge Certificates” (Kenar Sertifikaları) kısmına gidin ve “Always Use HTTPS” (Her Zaman HTTPS Kullan) seçeneğini On (Açık) konumuna getirin. Bu, tüm HTTP isteklerini otomatik olarak HTTPS’ye yönlendirecektir.
Cloudflare’ın diğer performans ve güvenlik ayarlarını (Minify, Brotli, WAF vb.) keşfedebilir ve ihtiyaçlarınıza göre yapılandırabilirsiniz.
Adım 4: SSL/TLS Sertifikası Kurulumu (Certbot ile)
Cloudflare’ın Full (strict) SSL/TLS modunu kullanabilmek için, sunucunuzda geçerli bir SSL sertifikası kurulu olması gerekir. Let’s Encrypt, ücretsiz ve otomatik SSL sertifikaları sağlayan bir sertifika yetkilisidir (CA). Certbot aracı, Let’s Encrypt sertifikalarını Nginx ile kolayca kurmanıza ve yönetmenize olanak tanır.
Certbot Kurulumu
Ubuntu 16.04 için Certbot’u PPA (Personal Package Archive) kullanarak kurmak en iyi yöntemdir:
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:certbot/certbot -y
sudo apt update
sudo apt install certbot python-certbot-nginx -y
Nginx İçin SSL Sertifikası Alma
Certbot, Nginx yapılandırmanızı otomatik olarak algılayıp sertifikayı kurabilir ve HTTPS yönlendirmesini ayarlayabilir. Aşağıdaki komutu kendi alan adınızla çalıştırın:
sudo certbot --nginx -d ornekalanadi.com -d www.ornekalanadi.com
Bu komutu çalıştırdığınızda:
1. Bir e-posta adresi girmeniz istenecektir (bildirimler ve kayıp anahtar kurtarma için).
2. Let’s Encrypt Hizmet Şartları’nı kabul etmeniz istenecektir.
3. Elektronik posta adresinizi EFF (Electronic Frontier Foundation) ile paylaşmak isteyip istemediğiniz sorulacaktır (isteğe bağlı).
4. Certbot, Nginx yapılandırmanızı analiz edecek ve alan adlarınız için bir sertifika alacaktır.
5. Sertifikayı başarıyla aldıktan sonra, Certbot size HTTP trafiğini HTTPS’ye yönlendirmek isteyip istemediğinizi soracaktır. 2: Redirect seçeneğini seçmeniz önerilir. Bu, tüm HTTP isteklerini otomatik olarak HTTPS’ye yönlendirecektir.
Sertifika kurulumu tamamlandığında, Certbot Nginx yapılandırma dosyanızı güncelleyecek ve Nginx’i yeniden başlatacaktır.
Sertifika Otomatik Yenileme
Let’s Encrypt sertifikaları 90 gün geçerlidir. Certbot, bu sertifikaları otomatik olarak yenilemek için bir cron job veya systemd timer kurar. Yenileme işleminin düzgün çalıştığından emin olmak için bir deneme (dry run) yapabilirsiniz:
sudo certbot renew --dry-run
Eğer herhangi bir hata mesajı almazsanız, otomatik yenileme düzgün çalışıyor demektir.
Cloudflare SSL Modunu Güncelleme
Artık sunucunuzda geçerli bir SSL sertifikası olduğuna göre, Cloudflare kontrol panelinize geri dönün ve “SSL/TLS” sekmesi altında SSL/TLS şifreleme modunu Full (strict) olarak değiştirin. Bu, uçtan uca şifreleme sağlar ve en yüksek güvenlik seviyesidir.
Şimdi web tarayıcınızdan https://ornekalanadi.com adresine gittiğinizde, web sitenizin güvenli bir HTTPS bağlantısı üzerinden yüklendiğini ve tarayıcınızın adres çubuğunda kilit simgesini görmelisiniz.
Adım 5: Gelişmiş Nginx Ayarları ve Optimizasyonlar (İsteğe Bağlı)
Web sitenizin performansını ve güvenliğini daha da artırmak için Nginx yapılandırmanıza bazı ek ayarlar ekleyebilirsiniz.
HTTP/2 Desteği
HTTP/2, web sitenizin yükleme hızını önemli ölçüde artıran yeni nesil bir protokoldür. Nginx yapılandırmanıza HTTP/2 desteği eklemek oldukça basittir.
Certbot, SSL sertifikasını kurarken HTTPS sunucu bloğunu oluşturmuş olmalıdır. Bu blokta listen 443 ssl; satırını bulun ve http2 anahtar kelimesini ekleyin:
# /etc/nginx/sites-available/ornekalanadi.com dosyasındaki HTTPS server bloğu
server {
listen 443 ssl http2; # http2 eklendi
listen [::]:443 ssl http2; # http2 eklendi
# ... diğer SSL ve site ayarları ...
}
Değişiklikleri kaydedin, Nginx yapılandırmasını test edin (sudo nginx -t) ve Nginx’i yeniden başlatın (sudo systemctl restart nginx).
Gzip Sıkıştırma
Gzip sıkıştırma, web sunucunuzun dosyaları (HTML, CSS, JavaScript vb.) istemciye göndermeden önce sıkıştırarak bant genişliği kullanımını azaltmasını ve yükleme sürelerini hızlandırmasını sağlar.
Nginx’in ana yapılandırma dosyası olan /etc/nginx/nginx.conf içinde veya sitenizin sunucu bloğunda http bloğunun içine aşağıdaki ayarları ekleyebilirsiniz:
# /etc/nginx/nginx.conf veya sitenizin server bloğunun içinde
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;
Bu ayarlar, Nginx’in belirli dosya türlerini sıkıştırmasını sağlar. Değişiklikleri kaydedin, Nginx yapılandırmasını test edin ve Nginx’i yeniden başlatın.
Tarayıcı Önbelleklemesi (Browser Caching)
Tarayıcı önbelleklemesi, kullanıcıların sitenizi tekrar ziyaret ettiklerinde statik varlıkları (resimler, CSS, JS dosyaları) daha hızlı yüklemesini sağlar. Nginx’e expires başlıkları ekleyerek tarayıcı önbelleklemesini etkinleştirebilirsiniz.
Sitenizin sunucu bloğuna (genellikle location / bloğunun dışına) aşağıdaki bloğu ekleyebilirsiniz:
# /etc/nginx/sites-available/ornekalanadi.com
server {
# ... diğer ayarlar ...
location ~* \.(jpg|jpeg|gif|png|webp|ico|css|js|woff|woff2|ttf|svg|eot)$ {
expires 365d;
add_header Cache-Control "public, no-transform";
}
# ... diğer ayarlar ...
}
Bu yapılandırma, belirtilen dosya türleri için tarayıcıların bu dosyaları bir yıl boyunca önbelleğe almasını söyler.
Güvenlik Başlıkları
HTTP güvenlik başlıkları, çeşitli web saldırılarına karşı koruma sağlamaya yardımcı olur. Bunları Nginx sunucu bloğunuza ekleyebilirsiniz:
# /etc/nginx/sites-available/ornekalanadi.com
server {
# ... diğer ayarlar ...
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
add_header X-XSS-Protection "1; mode=block";
add_header Referrer-Policy "no-referrer-when-downgrade";
add_header Content-Security-Policy "default-src 'self' https:; script-src 'self' 'unsafe-inline' 'unsafe-eval' https:; style-src 'self' 'unsafe-inline' https:; img-src 'self' data: https:;";
# ... diğer ayarlar ...
}
Not: Content-Security-Policy (CSP) başlığı oldukça karmaşıktır ve sitenizin tüm kaynaklarını doğru şekilde listelemeniz gerekir. Yanlış yapılandırılırsa sitenizde sorunlara yol açabilir. Başlangıç için diğer başlıkları ekleyip CSP’yi daha sonra detaylıca araştırarak eklemeniz daha güvenli olabilir.
Tüm bu değişikliklerden sonra, Nginx yapılandırmasını test etmeyi ve servisi yeniden başlatmayı unutmayın.
Sorun Giderme ve Sıkça Sorulan Sorular
Bu bölümde, kurulum sırasında veya sonrasında karşılaşabileceğiniz yaygın sorunlara ve çözümlerine değineceğiz.
Web Sitesi Açılmıyor veya Hata Veriyor
* DNS Yayılımı: Alan adınızın Cloudflare nameserver’larına yönlendirilmesi zaman alabilir. Cloudflare panelinizde alan adınızın durumunun Active olup olmadığını kontrol edin.
* Nginx Servisi: Nginx’in çalışıp çalışmadığını kontrol edin: sudo systemctl status nginx. Çalışmıyorsa sudo systemctl start nginx ile başlatın.
* Nginx Yapılandırma Hataları: sudo nginx -t komutunu kullanarak yapılandırma dosyalarınızda hata olup olmadığını kontrol edin.
* Güvenlik Duvarı (UFW): HTTP (80) ve HTTPS (443) portlarının UFW tarafından engellenmediğinden emin olun: sudo ufw status.
* Cloudflare Proxy Durumu: Cloudflare DNS ayarlarınızda A kayıtlarınızın turuncu bulut (Proxied) olarak ayarlı olduğundan emin olun.
* Sunucu IP Adresi: Cloudflare’daki A kaydının sunucunuzun doğru genel IP adresini işaret ettiğinden emin olun.
SSL Hataları veya Güvenli Değil Uyarısı
* Cloudflare SSL Modu: Cloudflare panelinizdeki “SSL/TLS” sekmesinde Full (strict) modunun seçili olduğundan emin olun.
* Sunucu Sertifikası: Sunucunuzda (Nginx) Certbot tarafından kurulmuş geçerli bir Let’s Encrypt sertifikası olduğundan emin olun. sudo certbot certificates komutu ile kurulu sertifikaları listeleyebilirsiniz.
* Karışık İçerik (Mixed Content): Web siteniz HTTPS üzerinden yüklenirken, bazı kaynakların (resimler, CSS, JS) hala HTTP üzerinden yüklenmesi “karışık içerik” uyarısına neden olabilir. Tarayıcınızın geliştirici araçlarını (F12) kullanarak konsol bölümündeki uyarıları kontrol edin ve HTTP ile yüklenen kaynakları HTTPS olarak güncelleyin. Cloudflare’ın “Always Use HTTPS” ayarı genellikle bu sorunu çözer, ancak bazı durumlarda manuel müdahale gerekebilir.
Performans Sorunları
* Nginx Logları: /var/log/nginx/ dizinindeki access.log ve error.log dosyalarını kontrol ederek yavaşlamalara neden olabilecek hataları veya yoğun istekleri tespit edin.
* Cloudflare Önbellekleme: Cloudflare’ın önbellekleme ayarlarını (Caching -> Configuration) kontrol edin. Doğru yapılandırılmış önbellekleme, sunucunuzdaki yükü azaltarak performansı artırır.
* Gzip ve Tarayıcı Önbelleklemesi: Adım 5’teki Gzip ve tarayıcı önbelleklemesi ayarlarının Nginx’te etkin olduğundan emin olun.
* HTTP/2: HTTP/2’nin etkin olup olmadığını kontrol edin.
Ubuntu 16.04’ün Güncel Olmaması Hakkında Not
Ubuntu 16.04 (Xenial Xerus), Nisan 2016’da piyasaya sürüldü ve Nisan 2021’de standart destek sonlandı. Genişletilmiş Güvenlik Bakımı (ESM) ile Nisan 2026’ya kadar destek alsa da, yeni projeler için güncel bir Ubuntu sürümü (örneğin Ubuntu 20.04 LTS veya 22.04 LTS) kullanmanız şiddetle tavsiye edilir. Eski bir işletim sistemi sürümü kullanmak, güvenlik açıkları ve yazılım uyumsuzlukları gibi riskleri beraberinde getirebilir. Bu rehber, mevcut 16.04 sistemleri olanlar için hazırlanmıştır. Mümkünse, sisteminizi daha güncel bir sürüme yükseltmeyi veya yeni bir sunucu kurmayı düşünmelisiniz.
Sonuç
Bu kapsamlı rehberde, Ubuntu 16.04 işletim sistemi üzerinde Nginx web sunucusunu ve Cloudflare CDN/güvenlik platformunu kullanarak bir web sitesini nasıl barındıracağınızı detaylı bir şekilde öğrendiniz. Nginx’in yüksek performansı ve esnekliği ile Cloudflare’ın global ağı, DDoS koruması ve ücretsiz SSL/TLS hizmetlerini birleştirerek, web sitenizin hem hızlı hem de güvenli olmasını sağladınız.
Adım adım sunucu hazırlığı, Nginx yapılandırması, Cloudflare entegrasyonu ve Let’s Encrypt ile SSL sertifikası kurulumu süreçlerini tamamladınız. Ayrıca, HTTP/2, Gzip sıkıştırma ve güvenlik başlıkları gibi gelişmiş optimizasyonlarla web sitenizin performansını ve güvenliğini daha da artırma yollarını keşfettiniz.
Unutmayın ki web sitesi yönetimi sürekli bir süreçtir. Düzenli güncellemeler, güvenlik kontrolleri ve performans izleme, sitenizin uzun ömürlü ve başarılı olması için kritik öneme sahiptir. Bu rehber, sağlam bir temel oluşturmanıza yardımcı oldu. Şimdi bu bilgiyi kullanarak kendi projelerinizi hayata geçirebilir ve dijital varlığınızı güçlendirebilirsiniz.
