Nginx (Engine-X olarak okunur) yuksek performansli bir web sunucusu ve reverse proxy'dir. Apache'ye gore daha az bellek kullanir ve daha fazla eslzamanli baglanti destekler.
Oncelikle paket listesini guncelleyin:
Nginx paketini yukleyin:
Nginx'i baslatin ve sistem acilisinda otomatik baslamasini saglayin:
UFW kullaniyorsaniz HTTP ve HTTPS portlarini acin:
Tarayicinizda sunucu IP adresine gidin veya:
Nginx karsilama sayfasini gormelisiniz.
/etc/nginx/nginx.conf - Ana yapilandirma dosyasi/etc/nginx/sites-available/ - Site konfigurasyonlari (tanimli)/etc/nginx/sites-enabled/ - Aktif site konfigurasyonlari (symlink)/var/www/html/ - Varsayilan web root dizini/var/log/nginx/ - Log dosyalariNginx, EPEL repository'de bulunur:
Nginx paketini yukleyin:
Firewalld kullaniyorsaniz:
/etc/nginx/nginx.conf - Ana yapilandirma dosyasi/etc/nginx/conf.d/ - Site konfigurasyonlari (.conf dosyalari)/usr/share/nginx/html/ - Varsayilan web root dizini/var/log/nginx/ - Log dosyalari/etc/nginx/nginx.conf - Ana yapilandirma dosyasi/etc/nginx/http.d/ - Site konfigurasyonlari/var/www/localhost/htdocs/ - Varsayilan web rootNginx konfigurasyonu hiyerarsik bloklar seklinde calisir:
location / - Prefix eslestirme (/ ile baslayan tum URL'ler)location = / - Tam eslestirme (sadece / URL'si)location ~ \.php$ - Regex eslestirme (buyuk/kucuk harf duyarli)location ~* \.(jpg|png)$ - Regex (buyuk/kucuk harf duyarsiz)location ^~ /images/ - Prefix, regex'ten once degerlendirilirOncelik Sirasi: = (tam) > ^~ (prefix oncelikli) > ~ veya ~* (regex) > prefix (normal)
Istenen dosyayi sirayla aramak icin kullanilir:
Bu ornek:
Backend uygulamasina proxy yonlendirmesi
HTML/CSS/JS statik dosya sunumu
React, Vue, Angular uygulamalari
PHP uygulamalari icin FastCGI
Birden fazla backend arasinda dagilim
WebSocket baglantilari icin proxy
HTTP'den HTTPS'e yonlendirme
Subdomain bazli yonlendirme
Farkli path'leri farkli backend'lere yonlendir
Birden fazla domain tek sunucuda
SSL/TLS Sertifikasi, web sitenizdeki verilerin sifrelenmesini saglar. HTTPS kullanmak icin bir SSL sertifikasina ihtiyaciniz var.
Bu komut sertifikayi alir VE nginx config'ini otomatik gunceller:
E-posta adresinizi girin ve sartlari kabul edin. HTTP'den HTTPS'e yonlendirme icin "2" secin.
Certbot'un nginx'i degistirmesini istemiyorsan certonly kullan:
Sertifikalar su konumlara kaydedilir:
/etc/letsencrypt/live/example.com/fullchain.pem - Sertifika + Chain/etc/letsencrypt/live/example.com/privkey.pem - Private KeyConfig dosyaniza su satirlari ekleyin:
Wildcard sertifikalar icin DNS dogrulamasi yapmaniz gerekir. DNS saglayicinizda TXT kaydi eklemeniz istenecek.
Certbot size bir TXT kaydi verecek. Bu kaydi DNS'inize ekleyin ve Enter'a basin.
Nginx config'ini degistirdikten sonra, reload/restart yapmadan once MUTLAKA test edin:
syntax is ok ve test is successful mesajlarini gormelisiniz.
Tum include edilen dosyalarla birlikte tam config'i gosterir.
sites-available/ - Tum site konfigurasyonlari burada saklanirsites-enabled/ - Aktif siteler (symlink olarak)444 kodu baglantıyı hemen kapatir (Nginx ozel kodu).
Once htpasswd dosyasi olusturun:
Sonra nginx config'e ekleyin: