Mehmet

WFN Üye
Konular
1,151
Mesajlar
1,152
Çözüm
0
Ticaret Puanı
0
Üyelik
1 Ay 6 Gün
Konum
YurtDışı
Web Sitesi
Var
Alanı
Google Adsense
1/1
Konu sahibi
NGINX, tarayıcıdan gelen web isteklerini karşılayan bir web sunucusudur. HTML, CSS ve görsel gibi statik dosyaları sunabilir; isteği başka bir sunucuya ileten ters vekil (reverse proxy) olarak da çalışabilir. Önbellekleme ve yük dengeleme görevleri de üstlenebilir. Adı “engine x” şeklinde okunur. Bir forumun önünde NGINX bulunması, PHP kodunu da NGINX’in çalıştırdığı anlamına gelmez.

Bir siteyi yönetirken asıl yararı, isteğin hangi aşamada işlendiğini anlayabilmektir. Görseller açılıyor ama forum sayfaları hata veriyorsa dosya sunumu çalışırken uygulama tarafında sorun yaşanıyor olabilir. Bu ayrım, rastgele ayar değiştirmek yerine doğru bileşeni incelemeyi sağlar.

Bir forum isteği sunucuda hangi yolu izler?​

NGINX önce isteğin geldiği IP adresi ve porta, ardından ilgili yapılandırmadaki alan adı eşleşmesine göre uygun server bloğunu seçer. İstek yolu için geçerli location kuralları, dosyanın sunulmasını veya isteğin başka bir servise aktarılmasını belirler. Bu nedenle aynı sunucudaki iki alan adı farklı uygulamalara yönlenebilir.

Örneğin bir PHP forumunda şu iki isteği düşünün. Aşağıdaki akış, statik dosyaları doğrudan sunan ve PHP isteklerini PHP-FPM’e ileten bir kurulum içindir; her sunucuda aynı mimari bulunmaz.

Kod:
GET /images/logo.png
Tarayıcı → NGINX → diskteki görsel → tarayıcı

GET /index.php
Tarayıcı → NGINX → PHP-FPM → forum uygulaması
Yanıt → NGINX → tarayıcı

İlk istekte NGINX, yapılandırılmış dosya köküne göre görseli bulur. İkinci istekte PHP kodunun yürütülmesi PHP-FPM tarafındadır; NGINX isteği FastCGI üzerinden iletir ve üretilen yanıtı ziyaretçiye taşır. Uygulamanın veritabanına erişmesi gerekiyorsa bu işi uygulama kodu yapar. NGINX’in kurulması veritabanı sorgularını kendiliğinden değiştirmez.

NGINX, Apache ve PHP-FPM’in görevleri​

Bu bileşenler aynı makinede bulunabilir. Aralarındaki ilişkiyi ürün adından çok, isteğin geçtiği yol belirler.

Bileşen veya düzenÜstlendiği işKontrol edilecek bağlantı
NGINXHTTP isteğini karşılar; dosya sunar veya başka servise aktarır.server, location ve dosya kökü
PHP-FPMİletilen PHP isteklerinin PHP süreçlerinde çalışmasını sağlar.FastCGI soketi ya da adresi
NGINX → ApacheNGINX ön katmanda, Apache arka taraftaki HTTP sunucusunda görev yapar.proxy_pass ile hedeflenen HTTP adresi
NGINX → PHP-FPMPHP istekleri Apache’ye uğramadan PHP-FPM’e gider.fastcgi_pass ve betik dosyası parametreleri

proxy_pass, HTTP sunucusuna yönlendirmede; fastcgi_pass ise FastCGI sunucusuna iletimde kullanılır. Bunları yalnızca adres değiştirerek birbirinin yerine koymak doğru değildir. Örneğin HTTP bekleyen bir hedef ile PHP-FPM’in FastCGI bağlantısı aynı protokolü konuşmaz. Apache’nin bulunduğu bir düzen de mutlaka kaldırılması gereken bir fazlalık değildir; mevcut uygulamanın ve yönetim panelinin gereksinimlerine göre değerlendirilir.

Yapılandırmayı incelerken nereden başlanır?​

  1. Siteye ait yapılandırmayı bulun. Ana dosyanın adı genellikle nginx.conf olur; konumu kurulum paketine ve işletim sistemine göre değişebilir. include ile alınan dosyaları, ilgili server ve location bloklarını, dosya kökünü ve dinamik isteğin gönderildiği hedefi belirleyin. Tek bir klasör yolunu her sunucuda geçerli saymayın.
  2. Düzenleme ve geri dönüş yolunu hazırlayın. Yönetim paneli kullanıyorsanız dosyaların panel tarafından üretilip üretilmediğini kontrol edin. Panelin desteklediği özel yönerge alanını tercih edin; elle yapılan düzenleme sonraki panel kaydında değişebilir. Mevcut ayarın geri dönüş kopyasını düzenlemeden önce saklayın.
  3. Yapılandırmayı uygun yetkiyle kontrol edin. Komut satırı erişiminiz varsa şu komutu çalıştırın:
    Kod:
    nginx -t
    Bu kontrol sözdizimini ve yapılandırmada işaret edilen dosyaların açılabilmesini sınar. Hata çıktısındaki dosya ve satır bilgisini inceleyin: geçersiz yönerge veya sözdizimi hatasıyla dosyanın bulunamaması ya da okuma izninin olmaması aynı sorun değildir. Testi yapılandırmayı ve gerekli dosyaları okuyabilecek yetkiyle yapın; izin hatasını yapılandırmayı rastgele değiştirerek çözmeye çalışmayın. Başarılı sonuç, forumun oturum açma veya veritabanı işlemlerini tek başına doğrulamaz.
  4. Başarılı kontrolden sonra yapılandırmayı yeniden yükleyin. Değişiklik uygulanacaksa uygun yetkiyle şu komutu kullanın:
    Kod:
    nginx -s reload
    Kontrol hata verdiyse önce nedeni giderin, ardından testi tekrarlayın.
  5. Değişikliğin etkisini doğrulayın. Değişen sayfayı ve bir statik dosyayı ayrı ayrı açın; ilgili erişim ve hata günlüklerini kontrol edin. Beklenmeyen sonuçta hata ayrıntısına göre düzeltme yapın veya sakladığınız ayara dönün.

Sık sorulan sorular​

Apache’deki .htaccess dosyası NGINX’te doğrudan çalışır mı?​

NGINX, .htaccess dosyalarını Apache gibi işlemez. Yönlendirme ve erişim kurallarının NGINX yapılandırmasına uygun biçimde aktarılması gerekir. NGINX’in arkasında Apache varsa .htaccess’in etkisini, isteğin gerçekten Apache’ye ulaşıp ulaşmadığı belirler.

NGINX Windows üzerinde kullanılabilir mi?​

Evet, Windows dağıtımı vardır. Ancak resmî belgelerde beta olarak değerlendirilir ve bazı bağlantı işleme sınırlamaları belirtilir. Windows’ta alınan sonuçları Linux sunucusuna doğrudan genellemek doğru olmaz.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Robotlar:
  • Anthropic